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 :

  1. Créez un flux de sortie pour le fichier PS résultant.
  2. Créez un objet PsSaveOptions avec les options par défaut.
  3. Créez un PsDocument d’une page avec un flux de sortie déjà créé et enregistrez les options.
  4. Créez un rectangle System.Drawing.Drawing2D.GraphicsPath à partir du rectangle.
  5. Définissez une peinture sur l’état graphique actuel de PsDocument.
  6. Remplissez le chemin du rectangle.
  7. Fermez la page.
  8. 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 :

  1. Définissez le trait sur l’état graphique actuel de PsDocument.

  2. 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 un rectangle

Ajouter Ellipse à PS

Afin d’ajouter une ellipse à PsDocument, 8 étapes sont également requises :

  1. Créez un flux de sortie pour le fichier PS résultant.
  2. Créez un objet PsSaveOptions avec les options par défaut.
  3. Créez un PsDocument d’une page avec un flux de sortie déjà créé et enregistrez les options.
  4. Créez une ellipse System.Drawing.Drawing2D.GraphicsPath à partir du rectangle.
  5. Définissez Paint sur l’état graphique actuel de PsDocument.
  6. Remplissez le chemin de l’ellipse.
  7. Fermez la page.
  8. 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 :

  1. Définissez le trait sur l’état graphique actuel de PsDocument.

  2. 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

Ajouter une ellipse

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.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.