Próbuję przekonwertować obraz z Bitmap
na ikonę systemu Windows. To jest kod.Konwertowanie bitmapy na ikonę
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!");
}
Kod działa poprawnie, ale problem jest, kiedy konwertować obraz do ikony ikona przerobiona traci swoje prawdziwe kolory i gradienty (pokazane na zdjęciu). Czy istnieje sposób, w jaki mogę przekonwertować obraz bez utraty jego kolorów?
Tak właśnie wygląda moja ikona.
To wygląda podstawowej palety kolorów 4bpp. Nie mam pojęcia, dlaczego tak się dzieje. –
Co powiesz na tworzenie ikony z uchwytu? – danish
Nie wiem jak, ok, spróbuję wyszukać w google.Jeśli masz jakiś link do przykładu ... proszę podać. Dziękuję. – kakarott