using System; using System.Drawing; using System.IO; using System.Collections.Generic; namespace AppStore.Tools.IconExtractor { public static class IconExtractorHelper { /// /// 将图标转换为位图 /// public static Bitmap ConvertIconToBitmap(Icon icon, Size size) { Bitmap bitmap = new Bitmap(size.Width, size.Height); using (Graphics g = Graphics.FromImage(bitmap)) { g.DrawIcon(icon, new Rectangle(0, 0, size.Width, size.Height)); } return bitmap; } /// /// 批量提取文件中的所有图标 /// public static List ExtractAllIcons(string filePath) { List icons = new List(); int count = IconExtractor.GetIconCount(filePath); for (int i = 0; i < count; i++) { try { Icon icon = IconExtractor.ExtractIconFromFile(filePath, i); icons.Add(icon); } catch { // 忽略提取失败的图标 } } return icons; } /// /// 将图标保存为PNG格式 /// public static void SaveIconAsPng(Icon icon, string outputPath) { using (Bitmap bitmap = icon.ToBitmap()) { bitmap.Save(outputPath, System.Drawing.Imaging.ImageFormat.Png); } } /// /// 检查文件是否包含图标 /// public static bool HasIcons(string filePath) { try { return IconExtractor.GetIconCount(filePath) > 0; } catch { return false; } } } }