如何导出嵌入在Resources.resx中的嵌入式.ico图标文件?我找到了这个例子,但我不确定targetAssembly部分是什么。
如果有人能在这里给我一些指示,那将非常有帮助。
public static void WriteResourceToFile(Assembly targetAssembly, string resourceName, string filepath)
{
using (Stream s = targetAssembly.GetManifestResourceStream(targetAssembly.GetName().Name + "." + resourceName))
{
if (s == null)
{
throw new Exception("Cannot find embedded resource '" + resourceName + "'");
}
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, buffer.Length);
using (BinaryWriter sw = new BinaryWriter(File.Open(filepath, FileMode.Create)))
{
sw.Write(buffer);
}
}
}
答案 0 :(得分:2)
看起来(根据您对Jeremy的回答的评论)您已经在应用程序属性中存储了Icon。如果是这种情况,则无需手动查找并将其解析出正在执行的程序集。
如果您查看Icon Documentation,您会看到它有一个名为Save(...)
的方法。有点方便不是吗?
将其保存到磁盘就像打开FileStream
并致电Save
一样简单。
在你的情况下:
using (var fStream = new FileStream(Path.Combine(userDir, "iconName.ico"), FileMode.OpenOrCreate, FileAccess.Write))
{
Properties.Resources.iconName.Save(fStream);
}
简单的东西,只需阅读文档。