图像到图标的转换

Posted

技术标签:

【中文标题】图像到图标的转换【英文标题】:Image to Icon conversion 【发布时间】:2011-10-26 18:08:57 【问题描述】:

我正在使用以下代码将图像转换为图标。 这是我的代码。

Bitmap Cbitmap=null;
  try
  
  Cbitmap = new Bitmap("path of local image"); 
  
  catch(Exception)
  
  return;
  
  Cbitmap.MakeTransparent(Color.White);
  System.IntPtr icH = Cbitmap.GetHicon();
  Icon ico = Icon.FromHandle(icH);
  Cbitmap.Dispose();
  System.IO.FileStream f = new System.IO.FileStream(Path where to save icon"" + "\\image.ico", System.IO.FileMode.OpenOrCreate);
  ico.Save(f);
   f.close();
  ico.dispose();

现在它已成功转换为图标,但是当我尝试在图像查看器中打开它时,它显示 预览不可用。

还有什么时候尝试在它说的项目中打开它

(image.ico 不是图标文件)

【问题讨论】:

一个ico文件只是一个重命名的bmp,​​你检查过它是否保存为bmp吗? 抱歉保存为JPEG格式,有关系吗? 那么JPEG不能用上面的方法转成Icon吗? @Russ C, ICO 不是 BMP,即使图标中存储的图像的二进制格式与 BMP 相关。 卢塞罗是正确的。图标对数据使用运行长度编码,但格式不同。 @Russ C - 该知识库文章仅适用于 Windows 98 和 ME。这是一种特殊的重命名情况,Windows 在重命名文件时会为您进行转换。 【参考方案1】:

您的代码很好。它将 JPG 转换为图标。您原始 JPG 的尺寸是多少?如果它们不是标准图标大小之一,您会遇到奇怪的行为。如果原始 JPG 太大,您将收到您所看到的错误。

一些较常见的尺寸是 16x16、24x24、32x32、48x48。

【讨论】:

以上是关于图像到图标的转换的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像转换为通知图标以在 Android 应用程序中使用?

使用 <path> 标签将图标图像转换为 svg 的最佳方法

将JLabel图标转换为Java中的字节

iConvert Icons能够在Mac上快速进行图标转换

GitHub 热榜:图像取证;开源图标库;代码流程图转换;在线情报搜集...

转换为png时如何更改图像中的单一颜色?