Spesso risulta utile convertire un'immagine bitmap avente le dimensioni di un'icona in un formato icona vero e proprio, tanto per intenderci un .ICO.
In questo breve tip vedremo come è possibile via codice implementare questo tipo di conversione.
- Inanzitutto inizializziamo una nuova istanza della classe Bitmap specificando come parametro del costruttore il nome completo del file contenente la bitmap da convertire :
Bitmap bmp = new Bitmap("copy.bmp");
- Recuperiamo l'handle per l'icona dall'oggetto Bitmap :
IntPtr img = bmp.GetHicon();
- Ora è necessario creare un oggetto Icon a partire dall'handle di Windows specificato per l'icona :
Icon ico = Icon.FromHandle(img);
- A questo punto salviamo l'oggetto Icon mediante un oggetto Stream ed il gioco è fatto !
System.IO.FileStream fs = new System.IO.FileStream("copy.ico", System.IO.FileMode.Create);
ico.Save(fs);
fs.Flush();
fs.Close();
Con queste poche righe di codice finalmente abbiamo convertito la nostra bitmap iniziale in un'icona.