16

我使用以下代码将 PictureBox 中的图像转换为位图:

bmp = (Bitmap)pictureBox2.Image;

但我得到的结果是bmp = null. 谁能告诉我我是怎么做到的?

4

3 回答 3

18

据我了解,您尚未分配 PictureBox 的 Image 属性,因此它在类型转换时返回 null 。

PictureBox 属性自动转换图像格式,如果您在 Image 属性上看到工具提示,它将显示 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 bmp = new Bitmap(pictureBox2.Image);

您可以直接pictureBox2.Image转换为 Bitmap,也可以使用 Bitmap 类转换为 Bitmap 类对象。

参考: 位图构造函数(图像)

您可以在此处使用Bitmap 类找到更多选项

于 2012-05-18T11:24:03.940 回答
7
Bitmap bitmap = new Bitmap(pictureBox2.Image)

http://msdn.microsoft.com/en-us/library/ts25csc8.aspx

于 2012-05-18T11:23:25.257 回答
3

我想你正在寻找这个:

Bitmap bmp = new Bitmap(pictureBox2.Image)
于 2012-05-18T11:23:38.887 回答