Differenze tra le versioni di "Creare un file PDF con le risorse del Componente gb.cairo"

Da Gambas-it.org - Wikipedia.
Riga 62: Riga 62:
 
   Cairo.Scale(1, 1)    <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine''</font>
 
   Cairo.Scale(1, 1)    <FONT Color=gray>' ''Non imposta alcuna modifica scalare all'immagine''</font>
 
   Cairo.Source = Cairo.ImagePattern(im, 200, 200)
 
   Cairo.Source = Cairo.ImagePattern(im, 200, 200)
   Cairo.Paint          <FONT Color=gray>' ''Imposta l'immagine sulla superficie PDF''</font>
+
   Cairo.Paint          <FONT Color=gray>' ''Disegna la prima immagine sulla superficie PDF''</font>
 
      
 
      
 
   Cairo.Scale(0.5, 0.5)    <FONT Color=gray>' ''Riduce della metà la dimensione della seconda immagine da disegnare sulla superficie PDF''</font>
 
   Cairo.Scale(0.5, 0.5)    <FONT Color=gray>' ''Riduce della metà la dimensione della seconda immagine da disegnare sulla superficie PDF''</font>
 
   Cairo.Source = Cairo.ImagePattern(im2, 300, 300)
 
   Cairo.Source = Cairo.ImagePattern(im2, 300, 300)
   Cairo.Paint
+
   Cairo.Paint         <FONT Color=gray>' ''Disegna la seconda immagine sulla superficie PDF''</font>
 
    
 
    
 
    
 
    

Versione delle 07:42, 17 mag 2021

Il Componente di Gambas gb.cairo consente, fra l'altro, di creare file PDF disegnandovi figure, testo, immagini ed in generale ogni altro elemento di disegno.

E' necessario impostare innanzitutto la superficie grafica di tipo PDF, sulla quale disegnare; quindi iniziare il disegno con la Classe Cairo.

Mostriamo di seguito un semplice esempio:

Public Sub Main()
 
 Dim pdf As CairoPdfSurface
 Dim x, y As Integer
 Dim im, im2 As Image

 
' Specifica la superficie grafica da creare per disegnarvi sopra, dimensionandola in "millimetri":
  pdf = New CairoPdfSurface("/percorso/del/file/pdf/da/creare", 210.0, 297.0)
  
' Inizia il disegno sulla superficie impostata:
  Cairo.Begin(pdf)
   
' Disegna un arco:
  Cairo.LineWidth = 10.0
  Cairo.Arc(300, 300, 100.0, 45.0 * (Pi / 180.0), 180.0 * (Pi / 180.0))
  Cairo.Source = Cairo.ColorPattern(Color.Blue)    ' Imposta il colore dell'elemento del disegno
  Cairo.Stroke

   
' Disegna un arco colorato pieno:
  Cairo.LineWidth = 10.0
  Cairo.ArcNegative(400, 300, 100.0, 45.0 * (Pi / 180.0), 180.0 * (Pi / 180.0))
  Cairo.Source = Cairo.ColorPattern(Color.Orange)
  Cairo.Fill
   

' Scrive il testo:
  Cairo.Font.Size = 20
  Cairo.Font.Name = "URW Palladio L"
   
  Cairo.Source = Cairo.ColorPattern(Color.Red)
  Cairo.MoveTo(100, 200)
  Cairo.DrawText("Drawtext")
  Cairo.Fill
   
  Cairo.Source = Cairo.ColorPattern(Color.Green)
  Cairo.MoveTo(400, 300)
  Cairo.Text("Text")
  Cairo.Fill
   
   
' Disegna 10x10 quadrati pieni:
  For x = 0 To 9
    For y = 0 To 9
      Cairo.Rectangle(200 + x * 10.0, 500 + y * 10.0, 5, 5)
    Next
  Next
  Cairo.Source = Cairo.ColorPattern(Color.Violet)
  Cairo.Fill


' Vengono inserite due immagini caricate da due file PNG:
  im = Image.Load("/percorso/del/primo/file.png")
  im2 = Image.Load("/percorso/del/secondo/file.png")

  Cairo.Scale(1, 1)    ' Non imposta alcuna modifica scalare all'immagine
  Cairo.Source = Cairo.ImagePattern(im, 200, 200)
  Cairo.Paint          ' Disegna la prima immagine sulla superficie PDF
   
  Cairo.Scale(0.5, 0.5)    ' Riduce della metà la dimensione della seconda immagine da disegnare sulla superficie PDF
  Cairo.Source = Cairo.ImagePattern(im2, 300, 300)
  Cairo.Paint          ' Disegna la seconda immagine sulla superficie PDF
 
  
' Termina il disegno:
  Cairo.End
 
End


Riferimenti