Newsgroup: it.comp.lang.visual-basic
Titolo: [VB6] Disegnare in semitrasparenza su un'immagine

Ho un'immagine (gif, bmp o jpg, a scelta) e ci devo disegnare sopra 
delle forme e riempire delle aree. Fino a qui tutto ok, ci riesco grazie 
ad un progettino trovato in rete grazie all'uso delle GDI.
Quando disegno sopra all'immagine però, questa viene coperta dal disegno 
(in pratica non ha trasparenza).
Esiste la possibilità in VB6 di disegnare in modo che l'immagine 
sottostante si continui a vedere in trasparenza ? qualcosa del genere 
insomma: 
http://www.maptiler.org/google-maps-overlay-opacity-control/
Grazie!



VB6 non gestisce nativamente l'alfa channel, ma qualcosa si può fare.
Leggi qui:
http://www.vbaccelerator.com/home/vb/code/vbmedia/DIB_Sections/Alpha_DIBSection/article.asp
--
ciao
  Stefano

 
http://www.vbaccelerator.com/home/vb/code/vbmedia/DIB_Sections/Alpha_DIBSection/article.asp
Ottimo.
Non sapevo neanche di dover cercare l'alfa channel (non mi sono mai dedicato 
alla grafica), e questa pagina dovrebbe proprio fare al caso mio.
Grazie! 

alla grafica), e questa pagina dovrebbe proprio fare al caso mio.
L'alpha channel consiste in alcuni bits che regolano la trasparenza nelle
immagini, nei sistemi a 32 bit di colore tipicamente sono gli ultimi 8.
http://en.wikipedia.org/wiki/Alpha_channel
Se vuoi realizzare facilmente immagini con le trasparenze puoi utilizzare GIMP,
č gratis e ti permette di fare un sacco di cose, in particolare puoi avere
sfumature ad alfa, puoi mandare un colore ad alfa per ogni livello e anche
assegnare un diverso valore di trasparenza per ogni livello, con effetti finali
di sovrapposizione molto interessanti.
http://www.gimp.org/
Devi perņ usare dei formati di immagine che implementino il canale alfa, come il
PNG che tra l'altro č un formato free, nato dopo i problemi che ci sono stati
con il GIF
http://it.wikipedia.org/wiki/Portable_Network_Graphics
--
ciao
  Stefano

"ToSka" ha scritto

Fino alla visualizzazione con quel sistema è abbastanza
facile. Se ti serve lavorare con i file, non tanto...
Ti semplifichi un po' la vita, rispetto a farlo a mano,
usando una libreria che lavori con le immagini, tipo la
FreeImage, che ha un wrapper anche per VB6.
Pare lo abbiano anche aggiornato, rispetto a quello che
ho visto tempo fa.
http://freeimage.sourceforge.net/
Poi magari non ti serve, intanto lo segnalo se qualcuno
fosse interessato e per l'archivio storico di Google :)
Bye, G. 


http://freeimage.sourceforge.net/
Lo hanno aggiornato e hanno aggiunto delle funzioni rispetto a quando ci avevo
guardato 3 o 4 anni fa dopouna tua segnalazione.
Non ho la possibilità di verificarlo perchè le PNG le uso principalmente in
QtPython  che ha già le sue librerie grafiche, ma ho dato un occhiata al wrapper
"MFreeImage.bas" e mi sembra potente.
Googlando si trovano anche degli esempi con le trasparenze, buone notizie per
l'op.
http://goo.gl/QkCUN
--
ciao
  Stefano

 
http://www.gimp.org/
No, non devo realizzare immagini. Io ho gią delle immagini, e devo 
lavorarci sopra, mostrando e togliendo al volo da programma aree 
colorate che lascino perņ vedere cosa c'č sotto.

From: Paperino Date: 30/04/2011 18:44:

Una bella bestia, ma forse è anche troppo per quello che devo fare.
Ho provato a far andare il wrapper di test, ma senza successo.
Forse la dll (quella da 2.8Mb) deve essere registrata?