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

你可能感兴趣的:(WinForm)