在代码中加载BitmapImage

4

我想从我的程序集(A)调用另一个程序集(B)中的方法并传递一张图片。然后,在WPF窗口中显示该图片 - 该窗口是B项目的一部分。

我似乎无法使用pack:// uri传递ImageSource,因为它在B的上下文中进行评估,所以我想当图片还在A中时使用CachedBitmap(?)进行缓存。

        BitmapImage img = new BitmapImage(new Uri("Images/32px-Nuvola_apps_cache.png", UriKind.Relative));
        CachedBitmap cbmp = new CachedBitmap(img, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);

我已经成功地将图像设置为嵌入式资源并作为流加载,但这不是WPF的方法。
从pack:文件中的文档来看,我应该能够做到这一点,但我尝试了下面列出的内容,都没有成功; "Images/32px-Nuvola_apps_cache.png": "找不到路径的一部分" "pack://application:,,,Images/32px-Nuvola_apps_cache.png": "URI前缀无法识别"。 "pack://siteoforigin:,,,Images/32px-Nuvola_apps_cache.png": "URI前缀无法识别"
我想做的就是将一个资源.png文件加载到内存中,并将其全部传递给另一个程序集中的方法。
谢谢 保罗。
1个回答

9

尝试:

pack://application:,,,/YourAssemblyName;component/Images/32px-Nuvola_apps_cache.png

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接