C#中图标文件的嵌入与提取

avatar
作者
筋斗云
阅读量:0

在C#中,可以通过使用System.Drawing.Icon类来嵌入和提取图标文件。以下是一个示例代码:

  1. 嵌入图标文件:
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);                     }                 }             }         }     } } 
  1. 提取图标文件:
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对象,最后可以将其用于显示在窗体上。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!