Differenze tra le versioni di "Spostare il testo con il mouse all'interno dell'area grafica con la Classe Cairo"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per poter sfruttare le risorse di ''Cairo'' in Gambas, bisognerà attivare anche il componente ''gb.cairo'', ed operare quindi con le funzioni e le proprietà messe a disposiz...")
 
 
Riga 1: Riga 1:
 
Per poter sfruttare le risorse di ''Cairo'' in Gambas, bisognerà attivare anche il componente ''gb.cairo'', ed operare quindi con le funzioni e le proprietà messe a disposizione della Classe non creabile denominata: ''Cairo''.
 
Per poter sfruttare le risorse di ''Cairo'' in Gambas, bisognerà attivare anche il componente ''gb.cairo'', ed operare quindi con le funzioni e le proprietà messe a disposizione della Classe non creabile denominata: ''Cairo''.
  
La Classe ''Cairo'' consente in generale di disegnare su un oggetto di tipo ''Image'', che si avrà cura di passare al metodo ''.Begin()'' prima di chiamare le funzioni di disegno previste dalla Classe.
+
La Classe ''Cairo'' consente in generale di disegnare su un oggetto di tipo ''Image'', che si avrà cura di passare al Metodo ".Begin()" prima di chiamare le funzioni di disegno previste dalla Classe.
  
 
+
Riguardo al caso previsto da questa pagina, faremo un esempio di possibile codice, nel quale passeremo  al Metodo ".Begin()" un'immagine vuota e trasparente, caricata come Oggetto ''Image'', sulla quale faremo apparire un testo, mediante il Metodo ".DrawText()" alle coordinate stabilite dal Metodo ".LineTo()". I dati ''Image'' vengono infine mostrati così in una ''PictureBox'':
Riguardo al caso previsto da questa pagina, faremo un esempio di possibile codice, nel quale passeremo  al metodo ''.Begin()'' un'immagine vuota e trasparente, caricata come oggetto ''Image'', sulla quale faremo apparire un testo, mediante la funzione ''.DrawText()'' alle coordinate stabilite dal metodo ''.LineTo()''. I dati ''Image'' vengono, quindi, convertiti in una ''Picture'' e mostrati così in una ''PictureBox'':
+
  Private im1 As New Image
  Private i As New Image
+
  Private im2 As New Image
  Private i2 As New Image
 
 
    
 
    
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
   i = i.Load("''file_immagine_trasparente''")
+
   im1 = i.Load("<FONT color=darkgreen>''file_immagine_trasparente''</font>")
   i2 = i.Copy(0, 0, i.W, i.H)
+
   im2 = i.Copy(0, 0, im1.W, im1.H)
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub PictureBox1_MouseDown()
+
  Public Sub PictureBox1_MouseDown()
 
    
 
    
  <FONT color=#006400>' ''Mettiamo a disposizione nuovamente un oggetto immagine completamente vuoto:''</font>
+
  <FONT color=gray>' ''Fornisce nuovamente un Oggetto "Image" completamente vuoto:''</font>
   i = i2.Copy(0, 0, i2.W, i2.H)
+
   im1 = im2.Copy(0, 0, im2.W, im2.H)
 
    
 
    
   With <FONT color=#B22222>Cairo</font>
+
   With <FONT color=red>Cairo</font>
     .Begin(i)
+
     .Begin(im1)
 
     .LineTo(Mouse.X, Mouse.Y)
 
     .LineTo(Mouse.X, Mouse.Y)
 
     .DrawText("Testo qualsiasi")
 
     .DrawText("Testo qualsiasi")
Riga 30: Riga 29:
 
   End With
 
   End With
 
    
 
    
  <FONT color=#006400>' ''Convertiamo i dati "Image" del risultato in una "Picture", che mostreremo in una "PictureBox":''</font>
+
  <FONT color=gray>' ''Mostra i dati "Image" del risultato in una "PictureBox":''</font>
   PictureBox1.Picture = i.Picture
+
   PictureBox1.Image = im1
 
   
 
   
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub PictureBox1_MouseMove()  <FONT color=#006400>' ''Gestisce l'evento dello spostamento del mouse sull'area grafica:''</font>
+
  Public Sub PictureBox1_MouseMove()  <FONT color=gray>' ''Gestisce l'evento dello spostamento del mouse sull'area grafica:''</font>
 
   
 
   
  <FONT color=#006400>' ''Mettiamo a disposizione nuovamente un oggetto immagine completamente vuoto:''</font>
+
  <FONT color=gray>' ''Fornisce nuovamente un oggetto immagine completamente vuoto:''</font>
   i = i2.Copy(0, 0, i2.W, i2.H)
+
   im1 = im2.Copy(0, 0, im2.W, im2.H)
 
   
 
   
   With <FONT color=#B22222>Cairo</font>
+
   With <FONT color=red>Cairo</font>
     .Begin(i)
+
     .Begin(im1)
 
     .LineTo(Mouse.X, Mouse.Y)
 
     .LineTo(Mouse.X, Mouse.Y)
 
     .DrawText("Testo qualsiasi")
 
     .DrawText("Testo qualsiasi")
Riga 49: Riga 48:
 
   End With
 
   End With
 
   
 
   
  <FONT color=#006400>' ''Convertiamo i dati "Image" del risultato in una "Picture" che mostreremo in una "PictureBox":''</font>
+
  <FONT color=gray>' ''Mostra i dati "Image" del risultato in una "PictureBox":''</font>
   PictureBox1.Picture = i.Picture
+
   PictureBox1.Image = im1
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 16:38, 3 lug 2024

Per poter sfruttare le risorse di Cairo in Gambas, bisognerà attivare anche il componente gb.cairo, ed operare quindi con le funzioni e le proprietà messe a disposizione della Classe non creabile denominata: Cairo.

La Classe Cairo consente in generale di disegnare su un oggetto di tipo Image, che si avrà cura di passare al Metodo ".Begin()" prima di chiamare le funzioni di disegno previste dalla Classe.

Riguardo al caso previsto da questa pagina, faremo un esempio di possibile codice, nel quale passeremo al Metodo ".Begin()" un'immagine vuota e trasparente, caricata come Oggetto Image, sulla quale faremo apparire un testo, mediante il Metodo ".DrawText()" alle coordinate stabilite dal Metodo ".LineTo()". I dati Image vengono infine mostrati così in una PictureBox:

Private im1 As New Image
Private im2 As New Image
 

Public Sub Form_Open()

  im1 = i.Load("file_immagine_trasparente")
  im2 = i.Copy(0, 0, im1.W, im1.H)

End


Public Sub PictureBox1_MouseDown()
 
' Fornisce nuovamente un Oggetto "Image" completamente vuoto:
  im1 = im2.Copy(0, 0, im2.W, im2.H)
 
  With Cairo
    .Begin(im1)
    .LineTo(Mouse.X, Mouse.Y)
    .DrawText("Testo qualsiasi")
    .Fill
    .End
  End With
  
' Mostra i dati "Image" del risultato in una "PictureBox":
  PictureBox1.Image = im1

End


Public Sub PictureBox1_MouseMove()  ' Gestisce l'evento dello spostamento del mouse sull'area grafica:

' Fornisce nuovamente un oggetto immagine completamente vuoto:
  im1 = im2.Copy(0, 0, im2.W, im2.H)

  With Cairo
    .Begin(im1)
    .LineTo(Mouse.X, Mouse.Y)
    .DrawText("Testo qualsiasi")
    .Fill
    .End
  End With

' Mostra i dati "Image" del risultato in una "PictureBox":
  PictureBox1.Image = im1

End