Alcuni utenti mi hanno chiesto qualche consiglio sullo sviluppo di applicazioni per Pocket PC in ambiente .NET Compact Framework. Una delle domande più gettonate è sicuramente quella di come rendere lo sfondo di un immagine trasparente. Sfortunatamente il controllo PictureBox non ha questa proprietà, ma grazie al GDI è possibile comunque disegnare un imaggine con sfondo trasparente. Per prima cosa dobbiamo includere nel nostro progetto “System.Drawing.Imaging“, per farlo basta scrivere all’inizio del nostro codice la seguente linea
Ora che le operazioni preliminari sono eseguite passiamo al codice vero e proprio.
In questo esempio il codice è stato inserito nell’evento “Paint” del Form.
// Creiamo ora un rettangolo delle stesse dimensioni dell’immagine.
Rectangle RettangoloOrigine = new Rectangle(0, 0, Immagine.Width, Immagine.Height);
// Creiamo un attributo dell’immagine
ImageAttributes attributo = new System.Drawing.Imaging.ImageAttributes();
// Impostiamo il valore della trasparenza (in questo caso nero)
attributo.SetColorKey(Color.Black, Color.Black);
// Disegnamo ora l’immagine.
e.Graphics.DrawImage(Immagine, RettangoloOrigine, 0, 0, Immagine.Width, Immagine.Height, GraphicsUnit.Pixel, attributo);
}
Negli screenshot sottostanti possiamo vedere la differenza del disegno delle immagini, prima senza attributo, poi con l’attributo. Per quelli di voi che volessero provare sono disponibili per il download il progetto di prova (creato con Microsoft Visual Studio 2008) e l’immagine usata.
Dimensione: 34,9 KiB - File scaricato: 258 volte
- .NET CF School – Determinare la risoluzione del Dispositivo
- .NET CF School – Riproduzione di un suono (1)
- .NET CF School – Determinare l’orientamento del Pocket PC
- Sondaggio #001 – Navighi in internet con il tuo Pocket PC?
- Temi PDA #025 – Black Rainbow
- [Boot] – Windows 7 – Windows Mobile 6.5
- [Freeware] PDAcraft Paint 1.0.5
- Temi PDA #036 – Halloween
- Temi PDA #017 – Flow

