Travailler avec des formes dans PS | .NET
Ajouter des formes dans un document PS
Ajouter un rectangle à PS
Afin d’ajouter un rectangle à PsDocument avec la bibliothèque Aspose.Page pour .NET, nous devons suivre les étapes suivantes :
- Créez un flux de sortie pour le fichier PS résultant.
- Créez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument d’une page avec un flux de sortie déjà créé et enregistrez les options.
- Créez un rectangle System.Drawing.Drawing2D.GraphicsPath à partir du rectangle.
- Définissez une peinture sur l’état graphique actuel de PsDocument.
- Remplissez le chemin du rectangle.
- Fermez la page.
- Enregistrez le document.
Si nous devons tracer (contourner) un rectangle, les 4 premières et les 2 dernières étapes seront les mêmes, mais les points 5 et 6 seront :
Définissez le trait sur l’état graphique actuel de PsDocument.
Tracez (décrivez) le chemin du rectangle.
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}
Pour Linux, MacOS et autres systèmes d’exploitation non Windows, nous proposons d’utiliser notre package Nuget Aspose.Page.Drawing. Il utilise le backend Aspose.Drawing au lieu de la bibliothèque système System.Drawing.
Importez donc l’espace de noms Aspose.Page.Drawing au lieu de celui de System.Drawing. Dans les extraits de code ci-dessus et suivants, Aspose.Page.Drawing.Rectangle sera utilisé à la place de System.Drawing.Rectangle, Aspose.Page.Drawing.Drawing2D.GraphicsPath sera utilisé à la place de System.Drawing.Drawing2D.GraphicsPath et ainsi de suite. . Nos exemples de code sur GitHub contiennent toutes les substitutions nécessaires.
Voir Travailler avec des formes dans des documents PS dans Java.
Le résultat de l’exécution de ce code apparaît comme
Ajouter Ellipse à PS
Afin d’ajouter une ellipse à PsDocument, 8 étapes sont également requises :
- Créez un flux de sortie pour le fichier PS résultant.
- Créez un objet PsSaveOptions avec les options par défaut.
- Créez un PsDocument d’une page avec un flux de sortie déjà créé et enregistrez les options.
- Créez une ellipse System.Drawing.Drawing2D.GraphicsPath à partir du rectangle.
- Définissez Paint sur l’état graphique actuel de PsDocument.
- Remplissez le chemin de l’ellipse.
- Fermez la page.
- Enregistrez le document.
Si nous devons tracer (contourer) une ellipse, les 4 premières et les 2 dernières étapes seront les mêmes mais les points 5 et 6 seront :
Définissez le trait sur l’état graphique actuel de PsDocument.
Stroke (outline) the ellipse path.
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}
Le résultat de l’exécution de ce code apparaît comme
Comme nous pouvons le voir, toute forme, fermée ou non, qui peut être placée dans System.Drawing.Drawing2D.GraphicsPath peut être remplie ou dessinée par PsDocument. Il peut également être coupé, mais cela sera décrit dans un autre article.
Vous pouvez télécharger des exemples et des fichiers de données à partir de GitHub.