• WPFのImage控件souce引入的方法总结


    1、后台代码相对路径添加(若为绝对路径,换UriKind的属性即可)

    BitmapImage testBitmapImage = new BitmapImage(new Uri(@"inSourcesON_btn_AutoDetect.bmp", UriKind.Relative));

    image1.Source = imagetemp;

    2、后台代码二进制添加

    private string path = @"F:1.jpg";  

    private void Window_Loaded(object sender, RoutedEventArgs e)  

    {  

        using (BinaryReader loader = new BinaryReader(File.Open(path, FileMode.Open)))  

        {  

            FileInfo fd = new FileInfo(path);  

            int Length = (int)fd.Length;  

            byte[] buf = new byte[Length];  

            buf = loader.ReadBytes((int)fd.Length);  

            loader.Dispose();  

            loader.Close();    

            //开始加载图像  

            BitmapImage bim = new BitmapImage();  

            bim.BeginInit();  

            bim.StreamSource = new MemoryStream(buf);  

            bim.EndInit();  

            image1.Source = bim;  

            GC.Collect(); //强制回收资源  

        }  

    3、前台代码直接添加(图片在项目中的视图仅是视图作用,其实已经放入源码某个文件夹下)

    完整的协议:

    编译时知道的文件:

     <Image Source="pack://application:,,,/images/my.jpg"/>

    运行才知道的文件:(别的资源引用本程序集dll)

     <Image Source="pack://siteoforigin:,,,/images/my.jpg"/>

    (其中,,,表示是 ///的缩写,当然也可以指定程序集)

    示例:

    <Image Source="Images/Desert.jpg"/>

    4、后台代码添加本地(电脑上)的图片

                try
                {
                    BitmapImage bi = new BitmapImage();
                    // BitmapImage.UriSource must be in a BeginInit/EndInit block.
                    bi.BeginInit();
                    StreamResourceInfo info = Application.GetRemoteStream(new Uri("pack://siteoforigin:,,,/" + e.NewValue.ToString(), UriKind.RelativeOrAbsolute));
                    bi.StreamSource = info.Stream;
                    bi.EndInit();
                    // Set the image source.
                    window.BgImage.Source = bi;
                }
                catch (UriFormatException ue)
                {
                    ErrorMessage.Show(ERROR.FIND_PATH_ERRIMAGEURI+"错误信息"+ue.ToString());
                }

    或者

     window.BgImage.Source = new BitmapImage(new Uri("pack://siteoforigin:,,,/"+ e.NewValue.ToString(), UriKind.Absolute));

  • 相关阅读:
    技术普及帖:你刚才在淘宝上买了一件东西
    centos 安装yum
    eclipse 中java 项目红色感叹号终极解决方案
    centos x8664位版本 想安装qq for linux
    甲骨文放弃对RHEL的ASMLib支持
    amoeba连接mysqlERROR 2006 (HY000): MySQL server has gone away
    让Fedora 15/CentOS 6显示详细启动信息,不显示进度条
    Oracle10g RAC安装手册
    如何控制oracle RAC 进行并行运算
    利用mysql的inet_aton()和inet_ntoa()函数存储IP地址
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/6755819.html
Copyright © 2020-2023  润新知