声明了一个
的位图private Bitmap img1 = null;
private Bitmap img2 = null;
从 openFileDialog 中选择后,图像将被推出。
选定的图像被放置在一个数组中。
imgName = openFD.FileNames;
然后按钮1显示这些图像。
pictureBox1.Image = Image.FromFile(imgName[0]);
pictureBox2.Image = Image.FromFile(imgName[1]);
我用这个
替换了button1代码img1 = Image.FromFile(imgName[0]);
img2 = Image.FromFile(imgName[1]);
但发生错误
无法将类型'System.Drawing.Image'隐式转换为'System.Drawing.Bitmap'
我尝试将代码更改为img1 = Bitmap.FromFile(imgName[0]);
。但仍然有同样的错误
有任何建议如何纠正或做到这一点?
答案 0 :(得分:7)
img1 = new Bitmap(imgName[0]);
img2 = new Bitmap(imgName[1]);
答案 1 :(得分:2)
img1 = (Bitmap) Image.FromFile(imgName[0]);
img2 = (Bitmap) Image.FromFile(imgName[1]);
由于错误消息显示您无法隐式执行此操作,因此您需要明确地将其强制转换为Bitmap
修改强>
基于下面的评论,我建议使用icktoofay的答案,即使用Bitmap构造函数,或者如果您可以直接使用Image类而不是使用Bitmap,您也可以使用它
答案 2 :(得分:0)
我在代码中使用了这三行代码来将字节值分配给c#中的图像。
ImageConverter converter = new ImageConverter();
pbStudentPicture.Image = (Image)converter.ConvertFrom(StudentPinfo.Picture);
pbStudentPicture.SizeMode = PictureBoxSizeMode.StretchImage;
答案 3 :(得分:0)
就我而言,我的System.Drawing.Image
不是来自文件,而是来自设备的相机。由于我不想将图像保存到文件中作为中间步骤,因此我使用了以下方法:
var imageBitmap = new Bitmap(image.Width, image.Height);
using (var graphics = Graphics.FromImage(imageBitmap))
graphics.DrawImage(image, 0, 0, image.Width, image.Height);
也许这对其他人有帮助;)