2010-04-20 13 views
7

Voglio mettere un'immagine su un pulsante, ma voglio che parte dell'immagine sia trasparente. Come faccio a fare questo?Rendi trasparente una parte di un'immagine

+0

È possibile modificare l'immagine e salvarla come PNG con trasparenza? Sembra l'opzione più semplice a meno che tu non possa farlo per qualche motivo. – RandomEngy

risposta

4

Prova la proprietà Image.OpacityMask. Puoi dargli un pennello che specifica la regione che vuoi essere trasparente.

EDIT: Da MSDN:

Non v'è alcun supporto diretto per colore-keying una bitmap in WPF. Tuttavia, è abbastanza facile da implementare da solo . Dwayne ha implementato un ColorKeyBitmap sul suo blog : http://blogs.msdn.com/dwayneneed/archive/2008/06/20/implementing-a-custom-bitmapsource.aspx Credo che si colleghi al codice su Codeplex pure. Si potrebbe anche raggiungere questo semplicemente leggendo il vostro bitmap in memoria di sistema, l'iterazione attraverso tutti i pixel e impostando loro valori stessi, e la costruzione di una nuova bitmap da quella array.

+0

Puoi fare in modo che la maschera di opacità sia mirata a un colore anziché a una regione? –

+0

Ho visto immagini con sfondi viola. C'è un modo per forzare quel colore a diventare trasparente. C'è un modo per farlo in WPF? –

+0

Il progetto di Dwayne non crea, quindi non posso usarlo. Sono perplesso qui. Mettere un'immagine su un pulsante è una pratica standard. Stai dicendo che non c'è un modo semplice per farlo in WPF? –

3

Utilizzare un programma di disegno (utilizzo Paint.Net) per modificare l'area che si desidera trasparente con un colore alha = 0. Quindi salva l'immagine (la mia era JPG) come PNG. Sembrava funzionare bene per me nel controllo Image WPF.

Problemi correlati