Csharp/C#教程:如何从构建动作的图像中获取System.Drawing.Image对象标记为资源?分享


如何从构建动作的图像中获取System.Drawing.Image对象标记为资源?

我有一个wpf应用程序,并获得了一个对代码隐藏有用的图像,其中项目中的位置类似于“projectName images pp.png”,其构建操作是“资源”(节点: 不是嵌入式资源 )。 我需要在代码隐藏中使用System.Drawing.Image对象。 我试过这些方法:

1。

var img = new BitmapImage(new Uri(@"imagespp.png", UriKind.Relative)); var stream = img.StreamSource; System.Drawing.Image needObj = Image.FromStream(stream); 

我有一个空流,所以它不起作用。

2。

 private static System.IO.Stream getResource(string name) { var assembly = Assembly.GetExecutingAssembly(); string resName = assembly.GetName().Name + ".g.resources"; return assembly.GetManifestResourceStream(resName); } var stream = getResource(@"imagespp.png"); System.Drawing.Image needObj = Image.FromStream(stream); 

我有一个UnmanagedMemoryStream对象,并在调用“Image.FromStream(stream)”时发生InvalidArgumentexception。

谁能告诉我为什么上述两种方法无法正常工作或如何实现呢?

WPF – 获取图像资源并转换为System.Drawing.Image

 var bitmapImage = new BitmapImage(new Uri(@"pack://application:,,,/" + Assembly.GetExecutingAssembly().GetName().Name + ";component/" + "images/pp.png", UriKind.Absolute)); var encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create((BitmapImage)bitmapImage)); var stream = new MemoryStream(); encoder.Save(stream); stream.Flush(); var image = new System.Drawing.Bitmap(stream); 

注意:

本地程序集资源文件

编译到本地程序集中的资源文件的pack URI使用以下权限和路径: pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.Ext

Windows窗体 – 获取图像嵌入资源:

 var assembly = System.Reflection.Assembly.GetExecutingAssembly(); var stream= assembly.GetManifestResourceStream("YourAssemblyName.images.pp.png"); var image = Image.FromStream(stream); 

注意:

查找嵌入的资源名称:

上述就是C#学习教程:如何从构建动作的图像中获取System.Drawing.Image对象标记为资源?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var assembly = System.Reflection.Assembly.GetExecutingAssembly(); assembly.GetManifestResourceNames() .Where(x => x.EndsWith("pp.png")) //Comment this line to find all resource names .ToList() .ForEach(resource => { MessageBox.Show(resource); }); 

www.ctvol.com true Article Csharp/C#教程:如何从构建动作的图像中获取System.Drawing.Image对象标记为资源?分享

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/998028.html

(0)
上一篇 2021年12月26日 下午4:41
下一篇 2021年12月26日 下午4:43

精彩推荐