【问题标题】:Image Conversion from Bitmap to Icon doesn't seem to work从位图到图标的图像转换似乎不起作用
【发布时间】:2011-02-09 12:49:30
【问题描述】:

我有一个简单的函数,它接受位图,并将位图转换为 ICON 格式。下面是函数。 (我用文字值代替变量)

    Bitmap tempBmp = new Bitmap(@"C:\temp\mypicture.jpeg");
    Bitmap bmp = new Bitmap(tempBmp, 16, 16);
    bmp.Save("@C:\temp\mypicture2.ico", ImageFormat.Icon)

它似乎没有正确转换......或者我认为。图像转换后,一些浏览器不会将图像重新识别为真正的“图标”,甚至 Visual Studio 2008 也不会将图像转换为图标格式后重新识别为图标。

例如,我打算使用刚刚转换的图标为我的 Win32 表单应用程序设置图标属性。我打开对话框并选择我刚刚转换的图标并收到以下错误。

--“参数‘图片’必须是可以用作图标的图片。”

我浏览了网络并遇到了复杂的代码,人们花时间手动将位图转换为不同的格式,但我认为上面的代码应该可以工作,并且 .NET 框架会处理这种转换.

【问题讨论】:

    标签: c# .net image-processing image-manipulation image-conversion


    【解决方案1】:

    我测试了以下代码,它可以工作,但结果不是很好。请记住,图标的调色板有限,您可能会丢失一些颜色信息。

        Bitmap b = new Bitmap(@"d:\file.jpg");
        Icon i = Icon.FromHandle(b.GetHicon());
        i.Save(File.Open(@"d:\file.ico", FileMode.OpenOrCreate, FileAccess.Write));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-08
      • 2017-11-13
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      相关资源
      最近更新 更多