Salvare come icona una bitmap contenuta su una imagelist

Qualche volta a me è capitato di avere la necessità di salvare come icone distinte le bitmap contenute all'interno di una ImageList.
 
Per ottenere le icone ho relizzato il seguente metodo a cui bisogna passare la ImageList da cui estrarre l'icona, il numero di posizione (attenzione agli array che iniziano da zero!) ed il nome del file da salvare.
 
C#
private void SalvaIcone(ImageList ImgList,int Numero, string NomeFile)
{
  Bitmap oBitmap = (Bitmap) ImgList.Images[Numero];
  Icon myIco = Icon.FromHandle(oBitmap.GetHicon());
  System.IO.FileStream fileIco = new System.IO.FileStream(NomeFile,System.IO.FileMode.OpenOrCreate);
  myIco.Save(file);
  fileIco.Close();
}
 
VB.NET
Private Sub SalvaIcone(ByVal ImgList As ImageList, ByVal Numero As Integer, ByVal NomeFile As String)
  Dim oBitmap As Bitmap = CType(ImgList.Images(Numero), Bitmap)
  Dim myIco As Icon = Icon.FromHandle(oBitmap.GetHicon)
  Dim fileIco As System.IO.FileStream = New System.IO.FileStream(NomeFile, System.IO.FileMode.OpenOrCreate)
  myIco.Save(file)
  fileIco.Close
End Sub
 
Credo che per un utilizzo "in produzione" sia opportuno aggiungere dei blocchi di try / catch. 

Print | posted on giovedì 7 luglio 2005 18:59

Feedback

# re: Salvare come icona una bitmap contenuta su una imagelist

Left by Alex at 11/04/2005 20:09
Gravatar Bello snippet, io invocherei il dispose di myico e imposterei a Nothing sia MyIco che file per aiutare il Garbage

# re: Salvare come icona una bitmap contenuta su una imagelist

Left by Alex at 11/04/2005 20:10
Gravatar Idem per oBitmap

Your comment:





 
Please add 8 and 1 and type the answer here:

Copyright © Luciano Bastianello

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski