Travailler avec les états graphiques (graphics states) dans PS

Rogner (clip) et transformer (transform) les états graphiques des fichiers PS à l’aide de l’API C++

 

Dans PostScript, un état graphique (graphic state) est un ensemble d'attributs qui définissent comment les graphiques sont dessinés sur une page et vous permettent de créer des graphiques complexes et variés avec un seul ensemble de commandes. En enregistrant et en restaurant les états graphiques, vous pouvez éviter les opérations redondantes. Vous pouvez également définir des styles graphiques réutilisables et les appliquer à différentes parties du document. L'état graphique comprend des paramètres tels que :

  • L’épaisseur des lignes (largeur de ligne / line width).
  • La forme des extrémités des lignes (arrondie, carrée ou plate / butt).
  • La forme des jonctions entre les lignes (onglet / miter, arrondie / round ou biseau / bevel).
  • La couleur des lignes et des remplissages (RVB, CMJN ou niveaux de gris).
  • La police utilisée pour le texte et sa taille.
  • La matrice utilisée pour transformer les coordonnées (mise à l’échelle, rotation, translation).

La gestion des états graphiques dans les documents PS (l'équivalent des canevas dans XPS) est l'une des principales fonctionnalités proposées par Aspose.Page pour C++.

Pour transformer (transform) les états graphiques d'un fichier PS, suivez le guide suivant :

  1. Créez un fichier PS à l’aide de la Classe PsDocument .
  2. Créez un chemin graphique rectangulaire.
  3. Enregistrez l’état graphique actuel, créez un nouvel état graphique et définissez-le comme actuel avec la WriteGraphicsSave() Méthode.
  4. Translatez l’état graphique actuel à l’aide de la Translate() Méthode.
  5. Définissez la peinture dans l’état graphique actuel avec la SetPaint() Méthode.
  6. Remplissez le chemin graphique au moyen de la Fill() méthode.
  7. Restaurez l’état graphique précédent avec la WriteGraphicsRestore Méthode.
  8. Répétez les étapes 3 à 7 pour ajouter d’autres états graphiques avec d’autres transformations à l’aide des Méthodes Scale() , Rotate() , Shear() et Transform() .
  9. Fermez la page actuelle au moyen de la ClosePage() méthode.
  10. Enregistrez le document PS créé à l’aide de la PsDocument.Save() Méthode.
Transformer les états graphiques (Transform graphics states) d'un PS

Pour ajouter des Clips à l'état graphique d'un fichier PS, suivez le guide suivant :

  1. Créez un fichier PS à l’aide de la Classe PsDocument .
  2. Créez un chemin graphique rectangulaire.
  3. Enregistrez l’état graphique actuel, créez un nouvel état graphique et définissez-le comme actuel avec la WriteGraphicsSave() Méthode.
  4. Translatez l’état graphique actuel à l’aide de la Translate() Méthode.
  5. Créez un chemin graphique circulaire.
  6. Ajoutez un rognage circulaire (clip) à l’état graphique actuel à l’aide de la Clip() Méthode.
  7. Définissez la peinture dans l’état graphique actuel avec la SetPaint() Méthode.
  8. Remplissez le chemin graphique rectangulaire au moyen de la Fill() Méthode.
  9. Restaurez l’état graphique précédent avec la WriteGraphicsRestore() Méthode.
  10. Translatez l’état graphique actuel à l’aide de la Translate() Méthode.
  11. Créez un objet System.Drawing.Pen.
  12. Définissez un trait (stroke) dans l’état graphique actuel avec la SetStroke() Méthode.
  13. Dessinez le chemin graphique rectangulaire au-dessus du rectangle rogné au moyen de la Draw() Méthode.
  14. Fermez la page actuelle au moyen de la ClosePage() Méthode.
  15. Enregistrez le document PS créé à l’aide de la PsDocument.Save() Méthode.
Ajouter un Clip à l'état graphique d'un PS

PS What is PS File Format

PS (PostScript) est un langage de description de pages qui combine texte et graphiques dans un même fichier. Il est largement supporté par les éditeurs d’images et les pilotes d’imprimante, contenant les instructions nécessaires au rendu de la page.