我想知道是否可以使用C#将PNG或JPEG图像文件转换为Icon文件(.ico)。到目前为止,我试图使用的代码让我失望。转换文件后,转换后的Icon文件在尝试在与Icon(.ico)文件兼容的其他软件中使用时会损坏。或者当我尝试在Windows照片库中查看它时,它已损坏。我不知道我做错了什么,但这是我的代码:
private void btnConvert_Click(object sender, EventArgs e)
{
Bitmap Cbitmap = null;
try
{
Cbitmap = new Bitmap(@"C:\Users\Landon\Pictures\image.png"); //(32, 32, PixelFormat.Format64bppPArgb);
}
catch(Exception)
{
MessageBox.Show("Error opening given Image file", "File Error",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
Cbitmap.MakeTransparent(Color.Transparent);
System.IntPtr icH = Cbitmap.GetHicon();
Icon ico = Icon.FromHandle(icH);
Cbitmap.Dispose();
System.IO.FileStream f = new System.IO.FileStream(@"C:\Users\Landon\Pictures\" + "\\image.ico", System.IO.FileMode.OpenOrCreate);
ico.Save(f);
MessageBox.Show("Image is converted to ICON and saved in the directory: " + @"C:\Users\Landon\Pictures\" + " with name image.ico");
}
如果由于某种原因我不清楚我想要问什么让我知道,我会编辑我的问题。现在我诚实地尽我所能。所有评论都表示赞赏。