Differenze tra le versioni di "Stampare il contenuto di una DrawingArea"

Da Gambas-it.org - Wikipedia.
Riga 2: Riga 2:
 
* si provvede a disegnare e scrivere all'interno della ''DrawingArea'' mediante l'evento ''_Draw()'';
 
* si provvede a disegnare e scrivere all'interno della ''DrawingArea'' mediante l'evento ''_Draw()'';
 
* si imposta la fase di stampa con la Classe ''Printer'';
 
* si imposta la fase di stampa con la Classe ''Printer'';
* viene richiamato l'evento ''_Draw()'' della Classe ''Printer'' per ogni pagina da stampare, nel quale si richiama nuovamente l'evento ''_Draw()'' della Classe ''DrawingArea''.
+
* viene richiamato l'evento ''_Draw()'' della Classe ''Printer'' per ogni pagina da stampare;
 +
* sia per disegnare nella ''DrawingArea'' sia per stamparea il disegno si richiama una sub-procedura, nella quale sono presenti i necessari valori ed impostazioni.
 
  '''Public''' Sub DrawingArea1_Draw()
 
  '''Public''' Sub DrawingArea1_Draw()
 
+
  With Paint
+
<FONT color=gray>' ''Richiamiamo ai fini del disegno sulla "DrawingArea" le impostazioni presenti nella sub-procedura":</font>
    .Brush = Paint.Color(Color.Red)
+
   DisegnoStampa()
    .MoveTo(200, 200)
 
    .RelLineTo(0, 100)
 
    .Stroke
 
    .DrawText("Testo qualsiasi", 10, 10, 20, 20)
 
    .End
 
   End With
 
 
    
 
    
 
  '''End'''
 
  '''End'''
Riga 24: Riga 19:
 
     .Paper = 2
 
     .Paper = 2
 
     .Resolution = Desktop.Resolution
 
     .Resolution = Desktop.Resolution
 +
    .GrayScale = False
 
  <FONT color=gray>' ''Volendo, si può stampare/creare un file .pdf o .ps, anziché stampare''
 
  <FONT color=gray>' ''Volendo, si può stampare/creare un file .pdf o .ps, anziché stampare''
 
  ' ''su foglio con la stampante, inserendo questa riga di comando:''
 
  ' ''su foglio con la stampante, inserendo questa riga di comando:''
Riga 35: Riga 31:
 
  '''Public''' Sub Printer1_Draw()
 
  '''Public''' Sub Printer1_Draw()
 
   
 
   
  <FONT color=gray>' ''Richiamiamo ai fini della stampa le impostazioni presenti nella precedente routine "DrawingArea1_Draw()":</font>
+
  <FONT color=gray>' ''Richiamiamo ai fini della stampa le impostazioni presenti nella sub-procedura":</font>
   DrawingArea1_Draw()
+
   DisegnoStampa()
 +
 +
'''End'''
 +
 +
 +
'''Private''' Procedure DisegnoStampa()
 +
 +
  With Paint
 +
    .Brush = Paint.Color(Color.Red)
 +
    .MoveTo(200, 200)
 +
    .RelLineTo(0, 100)
 +
    .Stroke
 +
    .DrawText("Testo qualsiasi", 10, 10, 20, 20)
 +
    .End
 +
  End With
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 20:17, 31 gen 2014

Per stampare il contenuto grafico presente in una DrawingArea, si potrà attuare il seguente procedimento:

  • si provvede a disegnare e scrivere all'interno della DrawingArea mediante l'evento _Draw();
  • si imposta la fase di stampa con la Classe Printer;
  • viene richiamato l'evento _Draw() della Classe Printer per ogni pagina da stampare;
  • sia per disegnare nella DrawingArea sia per stamparea il disegno si richiama una sub-procedura, nella quale sono presenti i necessari valori ed impostazioni.
Public Sub DrawingArea1_Draw()

' Richiamiamo ai fini del disegno sulla "DrawingArea" le impostazioni presenti nella sub-procedura":
  DisegnoStampa()
  
End


Public Sub Button1_Click()

  With Printer1
    .Configure
    .Orientation = 0
    .Paper = 2
    .Resolution = Desktop.Resolution
    .GrayScale = False
' Volendo, si può stampare/creare un file .pdf o .ps, anziché stampare
' su foglio con la stampante, inserendo questa riga di comando:
  ' .OutputFile = "percorso_mio_file.pdf"
    .Print
  End With

End


Public Sub Printer1_Draw()

' Richiamiamo ai fini della stampa le impostazioni presenti nella sub-procedura":
  DisegnoStampa()

End


Private Procedure DisegnoStampa()

 With Paint
   .Brush = Paint.Color(Color.Red)
   .MoveTo(200, 200)
   .RelLineTo(0, 100)
   .Stroke
   .DrawText("Testo qualsiasi", 10, 10, 20, 20)
   .End
 End With

End