Differenze tra le versioni di "Fondere due immagini in una sola"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
''<Font Color= #006400>' Gambas class file''</font>
+
Viene di seguito mostrato un codice per fondere due immagini.
 
 
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
Dim x, c, b As New Image
+
  Dim im1, im2 As New Image
Dim a As New Picture
+
 
+
  <Font Color=gray>' ''Viene caricata la prima immagine:''</font>
+
   im1 = Image.Load("<Font Color=gray>''/percorso/del/primo/file/immagine''</font>")
  ''<Font Color= #006400>' viene caricata la prima immagine:''</font>
 
   c = c.Load("Immagine1.gif")
 
 
 
''<Font Color= #006400>' viene resa manipolabile:''</font>
 
  paint.Begin(c)
 
''<Font Color= #006400>' viene ruotata specularmente sull'asse verticale:''</font>
 
  c.Mirror(True, False)
 
''<Font Color= #006400>' viene salvata:''</font>
 
  c.Save("/tmp/nuovoFile.png")
 
 
 
''<Font Color= #006400>' viene caricata la seconda immagine da fondere con la prima.
 
' ''Si sceglie il formato .png, se l'immagine aveva lo sfondo “trasparente”,
 
' ''poiché questo è l'unico formato disponibile a conservare la trasparenza del fondo:''</font>
 
  x = x.Load("/tmp/nuovoFile.png")
 
''<Font Color= #006400>' viene resa manipolabile:''</font>
 
  paint.Begin(x)
 
 
''<Font Color= #006400>' viene caricata la seconda immagine da fondere con la prima.''</font>
 
  b = b.Load("Immagine2.png")
 
 
    
 
    
  ''<Font Color= #006400>' viene inserita (e quindi fusa insieme) la seconda immagine all'interno della prima:''</font>
+
  <Font Color=gray>' ''Viene caricata la seconda immagine:''</font>
   paint.DrawImage(b, 100, 200, 100, 50)
+
   im2 = Image.Load("<Font Color=gray>''/percorso/del/secondo/file/immagine''</font>")
''<Font Color= #006400>' ...viene inserito anche del testo:''</font>
 
  paint.DrawText("Testo qualsiasi", 10, 10)
 
''<Font Color= #006400>' viene ruotata specularmente sull'asse orizzontale:''</font>
 
  x.Mirror(False, True)
 
 
    
 
    
  ''<Font Color= #006400> ' la prima immagine (ormai fusa con la seconda) viene trasformata in una Picture...''</font>
+
  <Font Color=gray>' ''La prima immagine viene resa manipolabile con la Classe "Paint":''</font>
   a = x.Picture
+
   With Paint
 +
    .Begin(im1)
 +
<Font Color=gray>' ''Disegna la seconda immagine sopra la prima immagine:''</font>
 +
    .DrawImage(im2, 0, 0, 100, 100)
 +
    .End
 +
  End With 
 
    
 
    
  ''<Font Color= #006400> ' ...e mostrata sul Form in una PictureBox:''</font>
+
  <Font Color=gray>' ''Mostra il risultato in una "PictureBox":''</font>
   PictureBox1.Picture = a
+
   PictureBox1.Image = im1
 
   
 
   
 
  '''End'''
 
  '''End'''
 +
 +
Per mescolare le due immagini, ma facendo in modo che la seconda sia semitrasparente, cosicché al di sotto di essa si intraveda la parte della prima immagine coperta, allora alla seconda immagine dovrà applicarsi il metodo "''.Opacity'' ".

Versione delle 19:01, 10 ott 2020

Viene di seguito mostrato un codice per fondere due immagini.

Public Sub Button1_Click()

 Dim im1, im2 As New 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 sopra la prima immagine:
   .DrawImage(im2, 0, 0, 100, 100)
   .End
 End With   
 
' Mostra il risultato in una "PictureBox":
 PictureBox1.Image = im1

End

Per mescolare le due immagini, ma facendo in modo che la seconda sia semitrasparente, cosicché al di sotto di essa si intraveda la parte della prima immagine coperta, allora alla seconda immagine dovrà applicarsi il metodo ".Opacity ".