【问题标题】:Bad Quality with Icon.ExtractAssociatedIcon functionIcon.ExtractAssociatedIcon 函数质量不佳
【发布时间】:2011-12-17 01:22:33
【问题描述】:

我尝试从一个 exe 中获取图标,我在其中使用了下面的 sn-p

 C#
 FileStream fs = new FileStream(icoFileNam, FileMode.OpenOrCreate);
 Icon ico = Icon.ExtractAssociatedIcon(exefilePath);
 ico.Save(fs);

保存的图像质量不佳。我已将图像保存为 .ico 文件。

谁能知道如何保留exe文件中图标的原始质量?

【问题讨论】:

    标签: c# resources icons


    【解决方案1】:

    在最常见的情况下,您可以通过Icon.ToBitmap() 方法使用提取的图标位图数据。您可以将此图像保存为不同的格式。但是,将图标保存为"true" .ico file 非常困难。

    问题在于 .Net 中没有用于图标图像的嵌入式编码器。因此默认情况下,结果已保存为低色图像。如果这是不可接受的,建议 MS 将原始位图数据手动保存为 .ico。我建议你使用已经实现了这个任务的IconLib library

    Icon icon = Icon.ExtractAssociatedIcon(@"C:\Windows\System32\notepad.exe");
    MultiIcon mIcon = new MultiIcon();
    SingleIcon sIcon = mIcon.Add("notepad");
    sIcon.CreateFrom(icon.ToBitmap(), IconOutputFormat.Vista);
    sIcon.Save(@"c:\notepad.ico");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-02
      • 2020-02-14
      • 2021-05-11
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-04
      • 1970-01-01
      相关资源
      最近更新 更多