在代码中加载BitmapImage

时间:2009-04-29 10:57:26

标签: wpf bitmapimage

从我的程序集(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);

如果我将图像设置为Embedded Resource并将其作为流加载,我已设法使其工作,但这不是WPF方式。

从包装中可以看出:我应该能够做到这一点的文档,但是我在下面尝试了这些并且没有工作;

“Images / 32px-Nuvola_apps_cache.png”:“无法找到部分路径” “pack:// application:,,, Images / 32px-Nuvola_apps_cache.png”:“无法识别URI前缀。”。 “pack:// siteoforigin:,,, Images / 32px-Nuvola_apps_cache.png”:“无法识别URI前缀。”

我想要做的就是将一个Resource .png文件加载到内存中并将其批量传递给另一个程序集中的方法。

由于 保罗。

1 个答案:

答案 0 :(得分:8)

尝试:

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