次のコードを使用して、PictureBox 内の画像をビットマップに変換しました。
bmp = (Bitmap)pictureBox2.Image;
しかし、次のような結果が出ていますbmp = null
。どうすればいいか教えていただけますか?
ベストアンサー1
私の理解では、PictureBox の Image プロパティが割り当てられていないため、型キャストで null が返されます。
PictureBox プロパティは自動的に画像形式を変換し、画像プロパティのツールヒントが表示される場合は、System.Drawing.Bitmap が表示されます。画像プロパティが正しく割り当てられていることを確認してください。
これをチェックしてください。私の側では動作しています。
private void button1_Click(object sender, EventArgs e)
{
var bmp = (Bitmap)pictureBox1.Image;
}
private void TestForm12_Load(object sender, EventArgs e)
{
pictureBox1.Image = Image.FromFile("c:\\url.gif");
}
///BitMap クラスの使用
Bitmap bmp = new Bitmap(pictureBox2.Image);
実行しているように Bitmap に直接キャストすることpictureBox2.Image
も、Bitmap クラスを使用して Bitmap クラス オブジェクトに変換することもできます。
参照: ビットマップ コンストラクター (画像)。
より多くのオプションについては、ビットマップクラス