Differenze tra le versioni di "Fondere due immagini in una sola"
Da Gambas-it.org - Wikipedia.
(9 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Viene di seguito mostrato un codice per fondere due immagini. | + | Viene di seguito mostrato un codice per fondere due immagini in una sola. |
− | + | Public Sub Button1_Click() | |
− | Dim im1, im2 As | + | Dim im1, im2 As Image |
<Font Color=gray>' ''Viene caricata la prima immagine:''</font> | <Font Color=gray>' ''Viene caricata la prima immagine:''</font> | ||
− | im1 = Image.Load("<Font Color= | + | im1 = Image.Load("<Font Color=darkgreen>''/percorso/del/primo/file/immagine''</font>") |
<Font Color=gray>' ''Viene caricata la seconda immagine:''</font> | <Font Color=gray>' ''Viene caricata la seconda immagine:''</font> | ||
− | im2 = Image.Load("<Font Color= | + | im2 = Image.Load("<Font Color=darkgreen>''/percorso/del/secondo/file/immagine''</font>") |
<Font Color=gray>' ''La prima immagine viene resa manipolabile con la Classe "Paint":''</font> | <Font Color=gray>' ''La prima immagine viene resa manipolabile con la Classe "Paint":''</font> | ||
With Paint | With Paint | ||
.Begin(im1) | .Begin(im1) | ||
− | <Font Color=gray>' ''Disegna la seconda immagine sopra la prima immagine:''</font> | + | <Font Color=gray>' ''Disegna la seconda immagine - senza ridimensionamento - "sopra" la prima immagine:''</font> |
− | .DrawImage(im2, 0, 0, | + | .DrawImage(im2, 0, 0, im2.W, im2.H) |
.End | .End | ||
End With | End With | ||
Riga 21: | Riga 21: | ||
PictureBox1.Image = im1 | PictureBox1.Image = im1 | ||
− | '' | + | End |
+ | Va precisato che la seconda immagine si ''sovrappone'' alla prima immagine, laddove essa ha pixel <SPAN Style="text-decoration:underline">non</span> trasparenti. | ||
− | Per mescolare le due immagini, ma facendo in modo che | + | Per mescolare le due immagini, ma facendo in modo che al di sotto della seconda immagine si intraveda la parte della prima immagine coperta, bisognerà rendere "semitrasparente" tale seconda immagine applicando il Metodo ".Opacity()" della Classe ''Image'' subito dopo che detta immagine sia stata caricata. |
+ | <BR>Ad esempio riprendendo il codice precedente: | ||
+ | im2<FONT Color=#B22222><B>.Opacity</b></font>(0.3) | ||
+ | oppure impostando l'opacità nel sesto argomento del Metodo ".DrawImage()" della Classe ''Paint'': | ||
+ | .DrawImage(im2, 0, 0, im2.W, im2.H, <FONT Color=#B22222><B>0.3</b></font>) |
Versione attuale delle 05:37, 21 mar 2024
Viene di seguito mostrato un codice per fondere due immagini in una sola.
Public Sub Button1_Click() Dim im1, im2 As Image ' Viene caricata la prima immagine: im1 = Image.Load("/percorso/del/primo/file/immagine") ' Viene caricata la seconda immagine: im2 = Image.Load("/percorso/del/secondo/file/immagine") ' La prima immagine viene resa manipolabile con la Classe "Paint": With Paint .Begin(im1) ' Disegna la seconda immagine - senza ridimensionamento - "sopra" la prima immagine: .DrawImage(im2, 0, 0, im2.W, im2.H) .End End With ' Mostra il risultato in una "PictureBox": PictureBox1.Image = im1 End
Va precisato che la seconda immagine si sovrappone alla prima immagine, laddove essa ha pixel non trasparenti.
Per mescolare le due immagini, ma facendo in modo che al di sotto della seconda immagine si intraveda la parte della prima immagine coperta, bisognerà rendere "semitrasparente" tale seconda immagine applicando il Metodo ".Opacity()" della Classe Image subito dopo che detta immagine sia stata caricata.
Ad esempio riprendendo il codice precedente:
im2.Opacity(0.3)
oppure impostando l'opacità nel sesto argomento del Metodo ".DrawImage()" della Classe Paint:
.DrawImage(im2, 0, 0, im2.W, im2.H, 0.3)