最近在做一个图片浏览的工具, 需要在PictureBox中显示图像文件, 包括gif播放。 且不能被程序独占, 就算winform的程序正在显示这张图, 也能在资源管理器里delete它。
看了看网上的示例, 光一个显示gif图片,就有人在说用label代替pictureBox,然后设置为背景图片、有人在说使用GDI+ 来实现、有人在说CreateGraphics. 其实我也就预览下图片, 哪有这么麻烦。 只需要下面几行代码足矣。
代码如下:
public void ShowImage(string path)
{
if ((this.pictureBox1.Image != null)) //先释放
{
pictureBox1.Image.Dispose();
pictureBox1.Image = null;
}
Image img = Image.FromFile(path); //加载图片
MemoryStream mstr = new MemoryStream(); //创建新的MemoryStream
img.Save(mstr, ImageFormat.Gif); // 保存这个对象
pictureBox1.Image = Image.FromStream(mstr); //显示
img.Dispose();//释放占用
//File.Delete(path);
}
不用爬墙用google:www.gaomn.com
热图吧:www.retu8.com
8kmm图库:www.8kmm.com