Generare un file immagine da una DrawingArea
Da Gambas-it.org - Wikipedia.
Versione del 3 gen 2014 alle 02:53 di Vuott (Discussione | contributi)
Per generare un file immagine da una DrawingArea, si può attuare la seguente procedura:
- disegno e/o scrivo nella DrawingArea;
- creo il file PDF mediante la proprietà .OutputFile della Classe Printer;
- utilizzando il file PDF, converto la pagina PDF in una Image (è necessario attivare il componente gb.pdf);
- quindi salvo detta Image con il suo metodo .Save in un file immagine.
Mostriamo di seguito un esempio:
Public Sub DrawingArea1_Draw() With Paint .Brush = Paint.Color(Color.Red) .MoveTo(200, 200) .RelLineTo(0, 100) .Stroke .DrawText("Testo con DrawText", 10, 10, 20, 20) .End End With End Public Sub Button1_Click() With Printer1 .Configure .Orientation = 0 .Paper = 2 .Resolution = Desktop.Resolution ' Stampa/crea un file .pdf: .OutputFile = "/tmp/mio_file.pdf" .Print End With End Public Sub Printer1_Draw() DrawingArea1_Draw() End Public Sub Button2_Click() Dim pdf As New PdfDocument Dim i As New Image With pdf .Open("/tmp/mio_file.pdf") ' Se il file pdf è stato caricato correttamente... If .Ready = True Then ' ...allora convertiamo la prima pagina ("indice" delle pagine = 1) in una "Image": i = pdf[1].Image ' Infine salviamo l'Image in un file immagine ' (è necessario scegliere il tipo di file immagine fra quelli supportati): i.Save("/tmp/mio_file.xxx") Else Message.Error("<FONT color=darkred>Errore nel caricamento del file PDF !") Endif End With End