Wie speichere ich Bitmap als Symbol? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Wie konvertiere ich ein Bild in ein Symbol, ohne die Transparenz zu verlieren? 1 Antwort

Ich muss das aus einer Bilddatei (.png, .jpeg, .bmp) geladene Bitmap-Objekt speichern und als Symbol (.ico) in einer separaten Datei speichern.

Zunächst habe ich versucht, das Bitmap-Objekt mit Icon ImageFormat in einer Datei zu speichern:

using System.Drawing;

Bitmap bmp = (Bitmap)pictureBox1.Image;
bmp.Save(@"C:\icon.ico", Imaging.ImageFormat.Icon);

Dieser Vorgang schlägt fehl, da das erstellte Symbol nicht in einem geeigneten Format vorliegt und nicht als Symbol verwendet werden kann.

Nächste war HIcon von Bitmap zu bekommen und es in eine Datei zu speichern:

using System.Drawing;
using System.IO;

StreamWriter iconWriter = new StreamWriter(@"C:\icon.ico");
Icon ico = Icon.FromHandle(((Bitmap)pictureBox1.Image).GetHicon())
ico.Save(iconWriter.BaseStream);
iconWriter.Close();
iconWriter.Dispose();

Dieser macht den Job auch nicht. Obwohl die Symboldatei richtig geschrieben ist, hat sie nur 16 Farben und eine begrenzte Breite und Höhe.

Ich möchte in der Lage sein, Symbole mit benutzerdefinierter Breite und Höhe zu schreiben, bei denen die Farben des Originalbilds erhalten bleiben. Ist das in .NET möglich?

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage