c#Winform程序,让pictureBox显示图像(包含GIF),并且不被占用,能即时删除图片。

最近在做一个图片浏览的工具, 需要在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

上一篇:Markdown 语法说明(持续更新-20160822)


下一篇:hdu-5929 Basic Data Structure(双端队列+模拟)