Graphiques et dessin
Graphiques et dessin
Aspose.PDF FOSS for .NET comprend un sous‑système de dessin pour ajouter des graphiques vectoriels aux pages PDF. Le conteneur Graph contient des éléments de forme (Line, Arc, Circle) et est ajouté à la collection Paragraphs d’une page.
Création d’un conteneur de graphique
Graph définit une zone dessinable avec une largeur et une hauteur spécifiées.
using var doc = new Document();
var page = doc.Pages.Add();
var graph = new Graph(400, 200);
page.Paragraphs.Add(graph);Tracer des lignes
var line = new Line(new float[] { 0, 0, 300, 100 });
graph.Shapes.Add(line);Dessiner des arcs et des cercles
var arc = new Arc(150, 100, 80, 0, 180);
graph.Shapes.Add(arc);
var circle = new Circle(150, 100, 50);
graph.Shapes.Add(circle);Travailler avec les couleurs
La classe Color fournit des méthodes d’usine pour les couleurs RGB, ARGB et nommées.
var red = Color.FromRgb(1.0, 0.0, 0.0);
var semiTransparent = Color.FromArgb(128, 0, 0, 255);Tracer des chemins
DrawingPath prend en charge MoveTo, LineTo, CurveTo et Close pour les formes vectorielles libres.
var path = new DrawingPath();
path.MoveTo(10, 10);
path.LineTo(100, 10);
path.CurveTo(150, 50, 150, 100, 100, 100);
path.Close();Formats d’image
ImageFormat fournit des valeurs d’énumération pour les formats raster utilisés lors de la conversion des pages en images : Bmp, Jpeg, Png, Tiff, Gif.
Conseils et meilleures pratiques
- Définissez les dimensions du graphique pour correspondre à la zone que vous souhaitez dessiner — les coordonnées à l’intérieur
Graphsont relatives à ses limites. - Utilisez
Color.FromArgbpour des remplissages semi-transparents (prise en charge du canal alpha). - Combinez plusieurs formes dans un seul
Graphpour un rendu efficace. DrawingPathest idéal pour les courbes de Bézier complexes et les formes polygonales arbitraires.- Ajoutez le
Graphà la collectionParagraphsde la page — ne l’ajoutez pas aux annotations.
Problèmes courants
| Problème | Cause | Correction |
|---|---|---|
| Forme non visible | Dimensions du graphique trop petites pour les coordonnées de la forme | Augmenter la largeur/hauteur de Graph ou mettre à l’échelle les coordonnées de la forme |
| Les couleurs apparaissent différemment dans le visualiseur | Incompatibilité d’espace colorimétrique | Utiliser Color.FromRgb avec des valeurs dans la plage 0.0-1.0 |
| Le dessin chevauche le texte | Graph placé à la mauvaise position dans le flux du paragraphe | Ajuster l’ordre des paragraphes ou utiliser FloatingBox pour un positionnement absolu |
FAQ
Puis-je dessiner des formes remplies ?
Oui. Définissez la propriété GraphInfo.FillColor de la forme pour la remplir avec une couleur unie.
Comment positionner un Graph à des coordonnées de page spécifiques ?
Enveloppez le Graph dans un FloatingBox et définissez ses propriétés Left et Top pour un positionnement absolu.
La bibliothèque prend‑elle en charge les dégradés ?
Les classes Shading prennent en charge les motifs d’ombrage de base. Utilisez DrawingPath avec ombrage pour les remplissages en dégradé.
Résumé de la référence API
| Classe / Méthode | Description |
|---|---|
Graph | Conteneur pour les formes dessinables, ajouté aux paragraphes de la page |
Line | Ligne droite entre deux points ou plus |
Arc | Arc circulaire défini par le centre, le rayon et les angles |
Circle | Forme de cercle définie par le centre et le rayon |
DrawingPath | Chemin libre avec MoveTo, LineTo, CurveTo, Close |
Color | Valeur de couleur avec RGB, ARGB et méthodes de fabrique |
Color.FromRgb | Créer une couleur à partir des composants RGB |
Color.FromArgb | Créer une couleur avec transparence alpha |
GraphicElementCollection | Collection d’éléments graphiques sur une page |
ImageFormat | Énumération des formats d’image raster (Bmp, Jpeg, Png, Tiff, Gif) |