在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对象,最后可以将其用于显示在窗体上。


