欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#后台代码获取程序集资源文件

程序员文章站 2022-12-16 17:19:30
资源会被打包在程序集内部。 选择这种生成方式后,该资源文件会被嵌入到该应用的程序集中,就是说打开生成的应用程序目录是看不到这个文件的。 可以用相对于当前的XAML文件的相对Uri访问,或是, 在子 ......

资源会被打包在程序集内部。 选择这种生成方式后,该资源文件会被嵌入到该应用的程序集中,就是说打开生成的应用程序目录是看不到这个文件的。

可以用相对于当前的xaml文件的相对uri访问,<image source="sl.png" />或是<image source="./sl.png" />, 在子文件夹里的可以用<image source=”./images/sl.png” />访问到。

最保险的方式是采用特有的程序集资源uri访问,格式为 <image source="/{assemblyshortname};component/sl.png"/>,这种方式还可以引用到应用程序中的其他程序集中的图片。

这种生成方式的系统资源可以直接用application.getresourcestream(uri).stream在代码里来得到。

获取媒体资源方式:/{assemblyshortname};component/sl.png 的方式来获取,其中assemblyshortname为程序集名称。

 

后台代码读取示例如下:

uri uri = new uri("pack://application:,,,/images/tagass.png");
var stream = application.getresourcestream(uri).stream;
byte[] bts = new byte[stream.length];
stream.read(bts, 0, (int)stream.length - 1);
stream.close();