Fondere due immagini in una sola

Da Gambas-it.org - Wikipedia.
' Gambas class file


Public Sub Button1_Click()

Dim x, c, b As New Image
Dim a As New Picture


' viene caricata la prima immagine:
 c = c.Load("Immagine1.gif")
 
' viene resa manipolabile:
 paint.Begin(c)
' viene ruotata specularmente sull'asse verticale:
 c.Mirror(True, False)
' viene salvata:
 c.Save("/tmp/nuovoFile.png")


' 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:
 x = x.Load("/tmp/nuovoFile.png")
' viene resa manipolabile:
 paint.Begin(x)

' viene caricata la seconda immagine da fondere con la prima.
 b = b.Load("Immagine2.png")
 
' viene inserita (e quindi fusa insieme) la seconda immagine all'interno della prima:
 paint.DrawImage(b, 100, 200, 100, 50)
' ...viene inserito anche del testo:
 paint.DrawText("Testo qualsiasi", 10, 10)
' viene ruotata specularmente sull'asse orizzontale:
 x.Mirror(False, True)
 
 ' la prima immagine (ormai fusa con la seconda) viene trasformata in una Picture...
 a = x.Picture
 
 ' ...e mostrata sul Form in una PictureBox:
 PictureBox1.Picture = a

End