我有一个wpf应用程序,并且获得了一个对代码隐藏有用的图像,其中项目中的位置类似于“projectName \ images \ pp.png”,其构建操作是“资源”(节点:不是嵌入式资源)。 我需要在代码隐藏中使用System.Drawing.Image对象。 我试过这些方法:
1
var img = new BitmapImage(new Uri(@"\images\pp.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(@"\images\pp.png");
System.Drawing.Image needObj = Image.FromStream(stream);
我有一个UnmanagedMemoryStream对象,并且在调用“Image.FromStream(stream)”时发生了InvalidArgument异常。
有谁可以告诉我为什么上述两种方法无效或如何实现呢?