Как я могу преобразовать изображение 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"); 
    }

Если по какой-то причине мне непонятно, о чем я пытаюсь спросить, дайте мне знать, и я отредактирую свой вопрос. Пока я честно старался изо всех сил. Все комментарии приветствуются.

0 ответов

Другие вопросы по тегам