Подтвердить что ты не робот

Преобразование битмапа в значок

Я пытаюсь преобразовать изображение из Bitmap в значок Windows. Это код.

private void btnCnvrtSave_Click(object sender, EventArgs e)
{
    Bitmap bmp = (Bitmap)picturePanel.BackgroundImage;
    Bitmap newBmp = new Bitmap(bmp);
    Bitmap targetBmp = newBmp.Clone(new Rectangle(0, 0, newBmp.Width, newBmp.Height), PixelFormat.Format64bppArgb);
    IntPtr Hicon = targetBmp.GetHicon();
    Icon myIcon = Icon.FromHandle(Hicon);

    SaveFileDialog sfd = new SaveFileDialog();
    sfd.Title = "Save Icon";
    sfd.Filter = "Icon|*.ico";
    sfd.ShowDialog();

    FileStream fileStream = new FileStream(sfd.FileName,FileMode.OpenOrCreate);
    myIcon.Save(fileStream);
    fileStream.Flush();
    fileStream.Close();

    MessageBox.Show("Image is converted successfully!");
}

Код работает нормально, но проблема в том, что при преобразовании изображения в значок конвертированный значок теряет свои истинные цвета и градиенты (показано на изображении). Итак, есть ли способ конвертировать изображение без потери его цветов?

Вот как выглядит мой значок.

Before and after converting

4b9b3361