Как я могу преобразовать изображение PNG или JPEG в I con, используя C#?
Я хотел бы знать, возможно ли преобразовать файл изображения PNG или JPEG в файл Icon (.ico) с помощью C#. Пока что код, который я пытаюсь использовать, провалился. После преобразования файла преобразованный файл 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");
}
Если по какой-то причине мне непонятно, о чем я пытаюсь спросить, дайте мне знать, и я отредактирую свой вопрос. Пока я честно старался изо всех сил. Все комментарии приветствуются.