zoukankan      html  css  js  c++  java
  • WPF中Image控件的Source属性

    imgBook 是一个Image控件,在后台代码中我想给它指定Source的属性。我先如下方式进行:

    Uri uri = new Uri(strImagePath, UriKind.RelativeOrAbsolute);
    
    
    imgBook.Source = new BitmapImage(uri);

    strImagePath是图片的绝对路径。

    在另一处代码中我想把strImagePath指定的图片删掉,操作如下:

    if (System.IO.File.Exists(strImagePath))
                    {
                        System.IO.File.Delete(strImagePath);
                    }

    但是删除操作报错,原因是程序在使用图片文件。

    解决方法如下:

    Stream m_ImageStream;
    private BitmapImage GetImageSource(string strImagePath)
            {
    //m_ImageStream.Close();
                //m_ImageStream.Dispose();
                //m_ImageStream = null;
    if (m_ImageStream != null)
                {
                    m_ImageStream.Close();
                    m_ImageStream.Dispose();
                }
    
    
    BitmapImage image = new BitmapImage();
                m_ImageStream = new FileStream(strImagePath, FileMode.Open);
                image.BeginInit();
                image.StreamSource = m_ImageStream;
                image.EndInit();
    
    
    return image;
            }

    其中m_ImageStream是一个全局的Stream变量,在删除操作前关闭这个变量就不会再出错了。

    if (m_ImageStream != null)
                    {
                        m_ImageStream.Close();
                        m_ImageStream.Dispose();
                    }
    
    
    if (System.IO.File.Exists(strImagePath))
                    {
                        System.IO.File.Delete(strImagePath);
                    }
  • 相关阅读:
    rust中的arm交叉编译
    Dockerfile简单编写
    docker常用命令
    linux下tf/u盘格式化
    rust查看支持的架构列表
    linux内核版本修改
    cgo引用外部c文件注意1
    redis服务允许外部ip访问开启
    redis密码修改
    setInterval和setTimeout的使用区别
  • 原文地址:https://www.cnblogs.com/z_lb/p/2936611.html
Copyright © 2011-2022 走看看