博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF 引用DLL纯图像资源包类库中的图片
阅读量:6270 次
发布时间:2019-06-22

本文共 1707 字,大约阅读时间需要 5 分钟。

原文:

1、建立WPF应用程序
             过程略。
 
2、创建类库项目(图片资源包)
      创建图片资源类库项目MyImages,删除class1.cs,在项目属性的资源选项中选择“图像”类型,并在“添加资源”中点击“添加现有的文件”,把图像加入到资源。并把访问修饰符改为Public。
 
3、在WPF应用程序中引用类库项目
       在WPF中通过 MyImages.Properties.Resources.XXX即可访问图像。XXX为图像文件名(资源名称)。但在WPF中的到图像还需一下工作。
 
4、WPF中创建Rectangle或其它采用ImageBrush对象为填充或背景的控件,将ImageBrush的ImageSource属性设置为资源包中图像的方法如下:
///         /// 读取符号(图片资源库中的文件)        ///         ///         /// 
public static ImageBrush GetImagebrush(string ImageName) { ImageBrush imageBrush = new ImageBrush(); System.Resources.ResourceManager rm = ImageLibrary.Properties.Resources.ResourceManager; System.Drawing.Bitmap b = (System.Drawing.Bitmap)rm.GetObject(ImageName); imageBrush.ImageSource = ToWpfBitmap(b); return imageBrush; }

      

public static BitmapSource ToWpfBitmap(Bitmap bitmap)        {            using (MemoryStream stream = new MemoryStream())            {                //注意:转换的图片的原始格式ImageFormat设为BMP、JPG、PNG等                bitmap.Save(stream, ImageFormat.Png);                stream.Position = 0;                BitmapImage result = new BitmapImage();                result.BeginInit();                // According to MSDN, "The default OnDemand cache option retains access to the stream until the image is needed."                // Force the bitmap to load right now so we can dispose the stream.                result.CacheOption = BitmapCacheOption.OnLoad;                result.StreamSource = stream;                result.EndInit();                result.Freeze();                return result;            }        }

            

调用方法:           Rectangle1.Fill=GetImagebrush(ImageName);
     注意转换的图片的原始格式ImageFormat必须设置正确。如原图片为PNG格式,调用时设为BMP格式时会失真。

转载地址:http://dmvpa.baihongyu.com/

你可能感兴趣的文章
nginx 内置变量大全(转)
查看>>
lakala反欺诈建模实际应用代码GBDT监督学习
查看>>
java 解析excel工具类
查看>>
Google FireBase - fcm 推送 (Cloud Messaging)
查看>>
BBS论坛(二十七)
查看>>
html DOM 的继承关系
查看>>
装饰器的邪门歪道
查看>>
Dubbo常用配置解析
查看>>
【转】C#解析Json Newtonsoft.Json
查看>>
macports的安装及常用命令
查看>>
(转)使用C#开发ActiveX控件
查看>>
spring mvc 基于注解 配置默认 handlermapping
查看>>
半小时学会上传本地项目到github
查看>>
Android学Jni/Ndk 开发记录(一)
查看>>
Linux Tcl和Expect的安装
查看>>
WPF中的依赖项属性(转)
查看>>
linux防火墙相关 iptables
查看>>
最简单的单例模式
查看>>
JPopupMenu的使用以及JPopupMenu中子组件的事件处理
查看>>
从反汇编的角度看引用和指针的区别
查看>>