Impostare l'opacità di un disegno in una DrawingArea

Da Gambas-it.org - Wikipedia.
Versione del 23 nov 2024 alle 17:36 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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 ' ...usare il Metodo ".Stroke()", qualora si preferisca un'ellisse non piena
   .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.