【问题标题】: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 在重命名文件时会为您进行转换。

标签: c# image visual-studio-2010 icons windows-xp


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2011-02-09
    • 2011-08-15
    • 2014-06-22
    • 2013-08-05
    • 1970-01-01
    • 2016-07-25
    相关资源
    最近更新 更多