Curvare il testo in una DrawingArea: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
Il caso è quello in cui si scrive un testo su una circonferenza ideale curvando ogni carattere in modo tale che il proprio asse verticale converga al centro di detta circonferenza.  
Il caso è quello in cui si scrive un testo su una circonferenza ideale curvando ogni carattere in modo tale che il proprio asse verticale converga al centro di detta circonferenza.  
<BR>La rotazione è data dai valori presenti nei metodi ".Traslate()" e ".Rotate()" relativi alle misure dell'area di disegno e a quelle del testo.
<BR>La rotazione è data dai valori presenti nei metodi "Paint.Traslate()" e "Paint.Rotate()" relativi alle misure dell'area di disegno e a quelle del testo.


Nell'esempio, che segue, si scriveranno alcuni caratteri lungo il semicerchio superiore della circonferenza:
Nell'esempio, che segue, si scriveranno alcuni caratteri lungo il semicerchio superiore della circonferenza:

Versione delle 18:51, 2 giu 2021

Il caso è quello in cui si scrive un testo su una circonferenza ideale curvando ogni carattere in modo tale che il proprio asse verticale converga al centro di detta circonferenza.
La rotazione è data dai valori presenti nei metodi "Paint.Traslate()" e "Paint.Rotate()" relativi alle misure dell'area di disegno e a quelle del testo.

Nell'esempio, che segue, si scriveranno alcuni caratteri lungo il semicerchio superiore della circonferenza:

Public Sub DrawingArea1_Draw()

 With Paint
   .Arc(300, 300, 50, Rad(0), 360, False)
   .Stroke
   .DrawRect(250, 250, 50, 50, Color.Red, 1.0)
   .DrawRect(300, 250, 50, 50, Color.Red, 1.0)
   .DrawRect(250, 300, 50, 50, Color.Red, 1.0)
   .DrawRect(300, 300, 50, 50, Color.Red, 1.0)

   .Translate(244, 305)
   .Rotate(Rad(90))
   .DrawText("G", 0, 0, 5, 5, Align.Left)
  
   .Translate(42, 13)
   .Rotate(Rad(315))
   .DrawText("A", 0, 0, 5, 5, Align.Left)
   
   .Translate(43, 13)
   .Rotate(Rad(315))
   .DrawText("T", 0, 0, 5, 5, Align.Left)
   
   .Translate(42, 15)
   .Rotate(Rad(315))
   .DrawText("T", 0, 0, 5, 5, Align.Left)
   
   .Translate(40, 14)
   .Rotate(Rad(315))
   .DrawText("O", 0, 0, 5, 5, Align.Left)
   .End
 End With
 
End