阅读量:0
在C#中,可以通过使用System.Drawing.Icon
类来嵌入和提取图标文件。以下是一个示例代码:
- 嵌入图标文件:
using System; using System.Drawing; using System.IO; using System.Reflection; class Program { static void Main() { // 读取图标文件 Icon icon = new Icon("icon.ico"); // 将图标文件嵌入到程序集中 using (MemoryStream ms = new MemoryStream()) { icon.Save(ms); byte[] iconData = ms.ToArray(); Assembly assembly = Assembly.GetExecutingAssembly(); string resourceName = "icon.ico"; using (Stream resourceStream = assembly.GetManifestResourceStream(resourceName)) { if (resourceStream == null) { using (Stream output = assembly.GetManifestResourceStream(resourceName)) { output.Write(iconData, 0, iconData.Length); } } } } } }
- 提取图标文件:
using System; using System.Drawing; using System.IO; using System.Reflection; class Program { static void Main() { // 从程序集中提取图标文件 Assembly assembly = Assembly.GetExecutingAssembly(); string resourceName = "icon.ico"; using (Stream resourceStream = assembly.GetManifestResourceStream(resourceName)) { using (MemoryStream ms = new MemoryStream()) { resourceStream.CopyTo(ms); Icon icon = new Icon(ms); // 使用提取的图标文件 // 例如,将图标显示在窗体上 Form form = new Form(); form.Icon = icon; form.Show(); } } } }
在上面的示例中,首先创建一个Icon
对象,然后将其保存为字节数组,并将其嵌入到程序集中。然后通过程序集中的资源流提取图标文件,并将其转换为Icon
对象,最后可以将其用于显示在窗体上。