C# 图像到图标转换
我使用以下代码将图像转换为图标。 这是我的密码C# 图像到图标转换,c#,image,visual-studio-2010,icons,windows-xp,C#,Image,Visual Studio 2010,Icons,Windows Xp,我使用以下代码将图像转换为图标。 这是我的密码 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.FromHa
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不是图标文件)您的代码很好。它将JPG转换为图标。你原来的JPG的尺寸是多少?如果它们不是标准的图标大小之一,您将得到一个奇怪的行为。如果原始JPG太大,您将看到错误
一些更常见的尺寸是16x16、24x24、32x32、48x48 ico文件只是一个重命名的bmp,你检查过它是否保存为bmp吗?很抱歉,它保存为JPEG。这有关系吗?那么JPEG不能使用上述方法转换为图标吗?@Russ C,ico不是bmp,即使图标中存储的图像的二进制格式与bmp相关。Lucero是正确的。图标对数据使用运行长度编码,但格式不同@Russ C-该知识库文章仅适用于Windows 98和ME。这是一种特殊的重命名情况,Windows会在重命名文件时为您进行转换。