Lavorare con le forme in PostScript | .NET
Aggiungi forme in un documento PS
Aggiungi un rettangolo a PS
Per aggiungere un rettangolo a PsDocument con la libreria Aspose.Page per .NET, dobbiamo seguire i seguenti passaggi:
- Creare un flusso di output per il file PS risultante.
- Creare l’oggetto PsSaveOptions con le opzioni predefinite.
- Creare un PsDocument a pagina singola con un flusso di output già creato e opzioni di salvataggio.
- Creare un rettangolo System.Drawing.Drawing2D.GraphicsPath dal rettangolo.
- Impostare un colore sullo stato grafico corrente di PsDocument.
- Riempire il percorso del rettangolo.
- Chiudere la pagina. 8. Salvare il documento.
Se dobbiamo tracciare il contorno di un rettangolo, i primi 4 e gli ultimi 2 passaggi saranno gli stessi, ma i punti 5 e 6 saranno:
Impostare il contorno allo stato grafico corrente di PsDocument.
Tracciare il contorno del rettangolo.
1//Create an output stream for PostScript document
2using (Stream outPsStream = new FileStream(dataDir + "AddRectangle_outPS.ps", FileMode.Create))
3{
4 //Create save options with A4 size
5 PsSaveOptions options = new PsSaveOptions();
6
7 // Create new 1-paged PS Document
8 PsDocument document = new PsDocument(outPsStream, options, false);
9
10 //Create graphics path from the first rectangle
11 GraphicsPath path = new GraphicsPath();
12 path.AddRectangle(new RectangleF(250, 100, 150, 100));
13 //Set paint
14 document.SetPaint(new SolidBrush(Color.Orange));
15 //Fill the rectangle
16 document.Fill(path);
17
18 //Create graphics path from the second rectangle
19 path = new GraphicsPath();
20 path.AddRectangle(new RectangleF(250, 300, 150, 100));
21 //Set stroke
22 document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23 //Stroke (outline) the rectangle
24 document.Draw(path);
25
26 //Close current page
27 document.ClosePage();
28
29 //Save the document
30 document.Save();
31}
Per Linux, macOS e altri sistemi operativi non Windows, offriamo l’utilizzo del nostro pacchetto Nuget Aspose.Page.Drawing. Utilizza il backend Aspose.Drawing invece della libreria di sistema System.Drawing.
Quindi, importate lo spazio dei nomi Aspose.Page.Drawing invece di quello System.Drawing. Nei frammenti di codice sopra e nei seguenti verrà utilizzato Aspose.Page.Drawing.Rectangle al posto di System.Drawing.Rectangle, Aspose.Page.Drawing.Drawing2D.GraphicsPath al posto di System.Drawing.Drawing2D.GraphicsPath e così via. I nostri esempi di codice su GitHub contengono tutte le sostituzioni necessarie.
Vedi come lavorare con le forme nei documenti PS in Java.
Il risultato dell’esecuzione di questo codice viene visualizzato come
Aggiungi ellisse a PS
Per aggiungere un’ellisse a PsDocument sono necessari 8 passaggi:
- Creare un flusso di output per il file PS risultante.
- Creare l’oggetto PsSaveOptions con le opzioni predefinite.
- Creare un PsDocument di una pagina con un flusso di output già creato e opzioni di salvataggio.
- Creare un’ellisse System.Drawing.Drawing2D.GraphicsPath a partire dal rettangolo.
- Impostare il colore sullo stato grafico corrente del PsDocument.
- Riempire il tracciato dell’ellisse.
- Chiudere la pagina.
- Salvare il documento.
Se dobbiamo tracciare il contorno di un’ellisse, i primi 4 e gli ultimi 2 passaggi saranno gli stessi, ma i punti 5 e 6 saranno:
Impostare il contorno sullo stato grafico corrente del PsDocument.
Tracciare il contorno del tracciato dell’ellisse.
1//Create an output stream for PostScript document
2using (Stream outPsStream = new FileStream(dataDir + "AddEllipse_outPS.ps", FileMode.Create))
3{
4 //Create save options with A4 size
5 PsSaveOptions options = new PsSaveOptions();
6
7 // Create new 1-paged PS Document
8 PsDocument document = new PsDocument(outPsStream, options, false);
9
10 //Create graphics path from the first ellipse
11 GraphicsPath path = new GraphicsPath();
12 path.AddEllipse(new RectangleF(250, 100, 150, 100));
13 //Set paint
14 document.SetPaint(new SolidBrush(Color.Orange));
15 //Fill the ellipse
16 document.Fill(path);
17
18 //Create graphics path from the second ellipse
19 path = new SystemGraphicsPath();
20 path.AddEllipse(new RectangleF(250, 300, 150, 100));
21 //Set stroke
22 document.SetStroke(new Pen(new SolidBrush(Color.Red), 3));
23 //Stroke (outline) the ellipse
24 document.Draw(path);
25
26 //Close current page
27 document.ClosePage();
28
29 //Save the document
30 document.Save();
31}
Il risultato dell’esecuzione di questo codice appare come
Come possiamo vedere, qualsiasi forma, sia chiusa che aperta, che può essere inserita in System.Drawing.Drawing2D.GraphicsPath può essere riempita o disegnata da PsDocument. Può anche essere ritagliata, ma questo verrà descritto in un altro articolo.
È possibile scaricare esempi e file di dati da GitHub.