Differenze tra le versioni di "Disegnare in una DrawingArea un carattere punto per punto"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "E' possibile disegnare un carattere (ad esempio una lettera dell'alfabeto) punto per punto su una ''DrawingArea'' mediante il metodo ''.FillRect()'' della Classe ''Paint''....")
 
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
E' possibile disegnare un carattere (ad esempio una lettera dell'alfabeto) punto per punto su una ''DrawingArea'' mediante il metodo ''.FillRect()'' della Classe ''Paint''.
+
E' possibile disegnare un carattere (ad esempio una lettera dell'alfabeto) punto per punto (o meglio: pixel per pixel) su una ''DrawingArea'' mediante il metodo ''.FillRect()'' della Classe ''Paint''.
 
 
  
 
Nell'esempio che segue sarà disegnata la lettera "p" dell'alfabeto:
 
Nell'esempio che segue sarà disegnata la lettera "p" dell'alfabeto:
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
  Me.Center
 
 
   
 
   
 
   DrawingArea1.Background = Color.White   
 
   DrawingArea1.Background = Color.White   
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub DrawingArea1_Draw()
+
  Public Sub DrawingArea1_Draw()
 
    
 
    
 
   Dim t, b, j, i As Byte
 
   Dim t, b, j, i As Byte
Riga 30: Riga 27:
 
       For b = 0 To 7
 
       For b = 0 To 7
 
         .FillRect(t + b, t + j, 1, 1, ii[i])
 
         .FillRect(t + b, t + j, 1, 1, ii[i])
 +
<FONT Color=gray>' ''oppure:'''''.Brush = .Color(ii[i])'''
 +
        ' '''.Arc(t + b, t + j, 1, Rad(0), Rad(360), False)'''
 +
        ' '''.Fill'''</font>
 
         Inc i
 
         Inc i
 
       Next
 
       Next
Riga 36: Riga 36:
 
   End With   
 
   End With   
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 11:42, 27 giu 2024

E' possibile disegnare un carattere (ad esempio una lettera dell'alfabeto) punto per punto (o meglio: pixel per pixel) su una DrawingArea mediante il metodo .FillRect() della Classe Paint.

Nell'esempio che segue sarà disegnata la lettera "p" dell'alfabeto:

Public Sub Form_Open()

 DrawingArea1.Background = Color.White  

End


Public Sub DrawingArea1_Draw()
 
 Dim t, b, j, i As Byte
 Dim ii As Integer[] = [&FFFFFF, &FFFFFF, &000000, &000000, &000000, &FFFFFF, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &000000, &000000, &FFFFFF, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF,
                        &FFFFFF, &FFFFFF, &000000, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF, &FFFFFF]

  t = 100
   
  With Paint
    For j = 0 To 7
      For b = 0 To 7
        .FillRect(t + b, t + j, 1, 1, ii[i])
' oppure:.Brush = .Color(ii[i])
       ' .Arc(t + b, t + j, 1, Rad(0), Rad(360), False)
       ' .Fill
        Inc i
      Next
    Next
    .End
  End With  

End