Logo UGIdotNET

Discussione 'Imaging'

# Pubblicato il 23 mar 2009 17.20 - Rispondi
Michele Semprini
Imaging
Ho la necessità di assegnare alla proprietà "source" di un oggetto Image una bitmap caricata da una DLL "satellite". E' possibile farlo con WPF ? perchè mi sembra di avere capito che source può contenere solo un URI - mi sbaglio?
Io vorrei invece raggruppare nelle risorse della DLL esterna tutte le bitmap di cui ho bisogno...

grazie e ciao
Michele
# Pubblicato il 24 mar 2009 0.11 - Rispondi
Corrado Cavalli
Re: Imaging
E' possibile, basta usare la corretta pack Uri:
esempio: Image Source="/MyLibrary;component/Images/padlock.png"
oppure da codice:
image2.Source = new BitmapImage(new Uri("pack://application:,,,/MyLibrary;component/Images/115.png",UriKind.Absolute));

Ciao
-Corrado
# Pubblicato il 24 mar 2009 9.19 - Rispondi
Michele Semprini
Re: Imaging
Grazie!
Le avevo provate quasi tutte per costruire quell'URI da codice...
# Pubblicato il 24 mar 2009 17.41 - Rispondi
Michele Semprini
Re: Imaging
Ora però sto diventando matto con un'altra questione: è possibile rendere trasparente lo sfondo bianco della bitmap che carico nel controllo IMAGE? ho provato anche con un file PNG con sfondo trasparente già in partenza ma la rappresentazione finale è sempre con sfondo bianco...
Devo usare in qualche modo l'OpacityMask o verso cosa altro mi devo indirizzare?

grazie, Michele
# Pubblicato il 25 mar 2009 8.59 - Rispondi
Corrado Cavalli
Re: Imaging
Sicuro che la png abbia lo sfondo trasparente?, ho fatto una prova e io lo vedo correttamente...
# Pubblicato il 25 mar 2009 15.02 - Rispondi
Michele Semprini
Re: Imaging
Sì - è trasparente.
Però il controllo Image e contenuto in uno UserControl che posiziono su una Window . Ora cerco di controllare meglio tutta la catena facendo un passo alla volta ...

m
# Pubblicato il 25 mar 2009 15.59 - Rispondi
Michele Semprini
Re: Imaging
Scusami - sono io "fuori"...
era lo Usercontrol a cui non avevo specificato nessun colore di sfondo . Alla fine ho provato con "Trasparent" e magicamente funziona...

ma riesco a codice a dire che un determinato colore (lo sfondo bianco per es.) deve essere reso trasparente? (Per non dovere rifare tutta una serie di bitmap già pronte e non trasparenti ...)

# Pubblicato il 26 mar 2009 15.16 - Rispondi
Corrado Cavalli
Re: Imaging
A parte elaorazioni via pixel shaders, non ho mai visto nulla simile all'opzione presente nei winforms...
# Pubblicato il 26 mar 2009 16.14 - Rispondi
Michele Semprini
Re: Imaging
Esiste per caso una classe con qualche metodo per "fondere" due bitmap ?
Devo fare in modo di rappresentare la prima immagine e incollargli sopra quella con lo sfondo trasparente...

grazie ancora
Michele
# Pubblicato il 26 mar 2009 19.38 - Rispondi
Corrado Cavalli
Re: Imaging
Non hai provato sovrapponendo le due immagini? altrimenti l'unica alternativa che mi viene in mente e WritableBitmap ma non so se fa esattamente quello che ti serve.

Ciao
Corrado
# Pubblicato il 26 mar 2009 21.40 - Rispondi
Michele Semprini
Re: Imaging
Cosa intendi con "sovrapporre" ? perchè se cambio l'ImageSource l'immagine originaria mi sembra venga sostituita ... quello che cercavo di fare era proprio di sovrapporle... c'è un altro modo ?

(comunque provo anche a guardare la WritableBitmap perchè forse la soluzione e di lavorare direttamente sui bit dell'immagine - con VB6 usavo StretchBlt o qualcosa del genere)

m
# Pubblicato il 27 mar 2009 12.15 - Rispondi
Michele Semprini
Re: Imaging
Forse Ho capito cosa intendevi con "sovrappore", perchè ho sovrapposto due controlli Image ottenendo il risultato voluto... l'unico dubbio che ho è relativo alle prestazioni visto che posso avere aperto nella stessa window diverse decine di Image (anche intorno a 100/200)

m

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185