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

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
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 38: 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