以PictureBox为例:
方法1
pictureBox1.Image = Image.FromFile(@"F:\photo\电子签名\1083.gif");
用 Image.FromFile取图片时,这个方法会锁定图片文件。有时候会出现内存溢出的问题。在频繁更换图片或需要对图片本身操作时,不推荐使用。
方法2(推荐)
在Properties下Resources.resx中双击,添加资源,资源包括使用的图片、音视频(在resource中添加的资源就不需要考虑路径的问题)
资源文件在文件路径下Resources文件夹下
pictureBox1.Image = Properties.Resources._1062;
注:资源文件不能以数字开头命名
方法3
//创建一个Bitmap对象,指向要加载的图片
Bitmap map = new Bitmap(@"F:\photo\电子签名\1083.gif");
pictureBox1.Image = map;
方法4
通过流来加载图片
string fileName = @"F:\photo\电子签名\1083.gif";
FileStream fs = new FileStream(fileName,FileMode.Open);
byte[] byData = new byte[fs.Length];
fs.Read(byData,0,byData.Length);
fs.Close();
MemoryStream ms = new MemoryStream(byData);
Bitmap img = new Bitmap(ms);
pictureBox1.Image = img;
该方法将本地的图片文件转为字节流,保存在内存流中,picturebox中保存的是内存中的数据,所以此时对本地图片进行操作,如删除本地图片,是完全没有问题的。
该方法也可以封装为一个获取位图图片的方法。