Differenze tra le versioni di "Spostare il testo con il mouse all'interno dell'area grafica con la Classe Cairo"
(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 | + | 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 | + | Private im1 As New Image |
− | Private | + | Private im2 As New Image |
− | Private | ||
− | + | Public Sub Form_Open() | |
− | + | im1 = i.Load("<FONT color=darkgreen>''file_immagine_trasparente''</font>") | |
− | + | im2 = i.Copy(0, 0, im1.W, im1.H) | |
− | + | End | |
− | + | Public Sub PictureBox1_MouseDown() | |
− | <FONT color= | + | <FONT color=gray>' ''Fornisce nuovamente un Oggetto "Image" completamente vuoto:''</font> |
− | + | im1 = im2.Copy(0, 0, im2.W, im2.H) | |
− | With <FONT color= | + | With <FONT color=red>Cairo</font> |
− | .Begin( | + | .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= | + | <FONT color=gray>' ''Mostra i dati "Image" del risultato in una "PictureBox":''</font> |
− | PictureBox1. | + | PictureBox1.Image = im1 |
− | + | End | |
− | + | Public Sub PictureBox1_MouseMove() <FONT color=gray>' ''Gestisce l'evento dello spostamento del mouse sull'area grafica:''</font> | |
− | <FONT color= | + | <FONT color=gray>' ''Fornisce nuovamente un oggetto immagine completamente vuoto:''</font> |
− | + | im1 = im2.Copy(0, 0, im2.W, im2.H) | |
− | With <FONT color= | + | With <FONT color=red>Cairo</font> |
− | .Begin( | + | .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= | + | <FONT color=gray>' ''Mostra i dati "Image" del risultato in una "PictureBox":''</font> |
− | PictureBox1. | + | PictureBox1.Image = im1 |
− | + | 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