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();
上一篇: 每个谎言都是一次玩命