Leggere l’icona con una specifica dimensione in una Risorsa CAT: C#, Tips, WinForms TAGS: C#, classi, Csharp, GDI+, helper, icone,Bitmap Date: 21/01/2008
Nelle WinForms di .NET, se inseriamo un’icona nelle risorse di sistema e dobbiamo usare l’immagine al suo interno come icona di una form siamo abituati a utilizzare questo comando:
Form.Icon = Properties.Resources.NomeIcona;
Se invece volessimo leggere le bitmap dentro all’icona nelle varie dimensioni per utilizzarle, il metodo è semplice ma per trovarlo ho dovuto spulciare MSDN e rileggermi tutto Petzold prima di scoprirlo, pertanto lo posto sperando di far cosa gradita a chi avesse la stessa necessità:
Icon icon16 = new Icon(Properties.Resources.testmulti, new Size(16,16)); Icon icon24 = new Icon(Properties.Resources.testmulti, new Size(24,24)); Icon icon32 = new Icon(Properties.Resources.testmulti, new Size(32, 32)); Icon icon48 = new Icon(Properties.Resources.testmulti, new Size(48, 48)); Icon icon64 = new Icon(Properties.Resources.testmulti, new Size(64, 64)); Icon icon96 = new Icon(Properties.Resources.testmulti, new Size(96, 96)); this.pcx16.Image = Bitmap.FromHicon(icon16.Handle); this.pcx24.Image = Bitmap.FromHicon(icon24.Handle); this.pcx32.Image = Bitmap.FromHicon(icon32.Handle); this.pcx48.Image = Bitmap.FromHicon(icon48.Handle); this.pcx64.Image = Bitmap.FromHicon(icon64.Handle); this.pcx96.Image = Bitmap.FromHicon(icon96.Handle);
Mettendo queste righe nel load della mia form, ed inserendo ovviamente le 6 picturebox ottengo questo artistico risultato:
Ovviamente ho predisposto l’icona con le varie immagini prima di fare la prova.
Il codice a corredo può essere scaricato dal link qui sotto.