Impostare l'opacità di un disegno in una DrawingArea

Da Gambas-it.org - Wikipedia.

La Classe Paint mediante la Proprietà ".Opacity" ci consente di impostare l'opacità di ciò che viene disegnato su una DrawingArea.

Può essere assegnato a detta Proprietà un valore in virgola mobile da 0.00 a 1.0 .

Uso della Proprietà "Paint.Opacity" con un disegno

Mostriamo un semplice esempio:

Private DrawingArea1 As DrawingArea


Public Sub _new()

 With Me
   .W = Screen.AvailableWidth / 2
   .H = Screen.AvailableHeight / 2
   .Arrangement = Arrange.Fill
 End With

 With DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"
   .Background = Color.White
 End With

End


Public Sub DrawingArea1_Draw()

 With Paint
   .Brush = .Color(Color.Red)
   .Opacity = 0.1
   .Ellipse(DrawingArea1.W / 3, DrawingArea1.H / 3, DrawingArea1.W * 0.1, DrawingArea1.H * 0.1, Rad(0), Rad(360), False)
   .Fill
   .End
 End With

End


Uso della Proprietà "Paint.Opacity" con un'immagine

La Proprietà "Paint.Opacity" ha effetto anche sulle immagini caricate in una DrawingArea mediante il Metodo ".DrawPicture()". [nota 1]

Public Sub _new()

 Dim DrawingArea1 As DrawingArea

 With Me
   .W = Screen.AvailableWidth / 2
   .H = Screen.AvailableHeight / 2
   .Arrangement = Arrange.Fill
 End With

 DrawingArea1 = New DrawingArea(Me) As "DrawingArea1"

End


Public Sub DrawingArea1_Draw()

 Dim pc As Picture

 pc = Picture.Load("/percorso/del/file/immagine")

 With Paint
   .Opacity = 0.1
   ..DrawPicture(pc, 10, 10, pc.W, pc.H, Null)
   .End
 End With

End


Note

[1] Per quanto attiene all'impostazione del livello di opacità (trasparenza) delle immagini invece con il Metodo ".DrawImage()" della Classe Paint, resta confermata la gestione del 6° parametro di detto Metodo.