Disegnare in una DrawingArea un rettangolo colorato con distinzione sfumata fra i colori

Da Gambas-it.org - Wikipedia.

Per ottenere una distinzione sfumata dei confini fra un colore ed un altro prossimo di un rettangolo disegnato in una DrawingArea, si deve utilizzare il metodo .LinearGradient() della Classe Paint. Il passaggio da un colore all'altro avviene in modo sfumato sia attraverso la sua dissolvenza sia mediante la sua fusione con la parte dissolta dell'altro colore.


Mostriamo un semplice esempio, nel quale viene disegnato un rettangolo internamente colorato con quattro colori blu, verde, giallo e rosso, distinti l'uno dall'altro prossimo in modo sfumato:

Public Sub Form_Open()

  DrawingArea1.Background = Color.White

End


Public Sub DrawingArea1_Draw()

 Dim c As Integer[] = [Color.Blue, Color.Green, Color.Yellow, Color.Red]
 Dim f As Float[] = [0, 0.34, 0.67, 1]

  With Paint
    .Brush = .LinearGradient(10, 40, 300, 40, c, f)
    .Rectangle(10, 40, 300, 40)
    .Fill
    .End
  End With

End