Ajouter un objet Rectangle au fichier PDF
Ajouter un objet Rectangle
Aspose.PDF pour C++ prend en charge la fonctionnalité d’ajouter des objets graphiques (par exemple graphique, ligne, rectangle, etc.) aux documents PDF. Vous avez également la possibilité d’ajouter un objet Rectangle où vous proposez également la fonction de remplir l’objet rectangle avec une certaine couleur, contrôler l’ordre Z, ajouter un remplissage de couleur en dégradé, etc.
Tout d’abord, examinons la possibilité de créer un objet Rectangle.
Suivez les étapes ci-dessous :
-
Créez un nouveau Document PDF
-
Ajoutez une Page à la collection de pages du fichier PDF
-
Ajouter Fragment de texte à la collection de paragraphes de l’instance de page
-
Créer une instance de Graph
-
Définir la bordure pour l’objet de dessin
-
Créer une instance de Rectangle
-
Ajouter un objet Rectangle à la collection de formes de l’objet Graph
-
Ajouter l’objet de graph à la collection de paragraphes de l’instance de page
-
Ajouter Fragment de texte à la collection de paragraphes de l’instance de page
-
Et sauvegarder votre fichier PDF
private static void AddRectangle(Page page, float x, float y, float width, float height, Color color, int zindex)
{
// Créer un objet de graph avec des dimensions identiques à celles spécifiées pour l'objet Rectangle
Aspose.Pdf.Drawing.Graph graph = new Aspose.Pdf.Drawing.Graph(width, height)
{
// Pouvons-nous changer la position de l'instance de graph
IsChangePosition = false,
// Définir la position de coordonnée gauche pour l'instance Graph
Left = x,
// Définir la position de coordonnée supérieure pour l'objet Graph
Top = y
};
// Ajouter un rectangle à l'intérieur du "graph"
Rectangle rect = new Rectangle(0, 0, width, height);
// Définir la couleur de remplissage du rectangle
rect.GraphInfo.FillColor = color;
// Couleur de l'objet graph
rect.GraphInfo.Color = color;
// Ajouter le rectangle à la collection de formes de l'instance de graph
graph.Shapes.Add(rect);
// Définir l'indice Z pour l'objet rectangle
graph.ZIndex = zindex;
// Ajouter le graph à la collection de paragraphes de l'objet page
page.Paragraphs.Add(graph);
}
Créer un Objet Rectangle Rempli
Aspose.PDF pour C++ offre également la fonctionnalité de remplir un objet rectangle avec une certaine couleur.
Le fragment de code suivant montre comment ajouter un objet Rectangle qui est rempli de couleur.
{
private const string _dataDir = "C:\\Samples\\";
public static void RectangleFilled()
{
// Créer une instance de Document
var doc = new Document();
// Ajouter une page à la collection de pages du fichier PDF
var page = doc.Pages.Add();
// Créer une instance de Graph
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// Ajouter un objet graphique à la collection de paragraphes de l'instance de page
page.Paragraphs.Add(graph);
// Créer une instance de Rectangle
var rect = new Rectangle(100, 100, 200, 120);
// Spécifier la couleur de remplissage pour l'objet Graph
rect.GraphInfo.FillColor = Color.Red;
// Ajouter l'objet rectangle à la collection de formes de l'objet Graph
graph.Shapes.Add(rect);
// Enregistrer le fichier PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Regardez le résultat d’un rectangle rempli de couleur unie :
Ajouter un dessin avec un remplissage en dégradé
Aspose.PDF pour C++ prend en charge la fonctionnalité d’ajout d’objets graphiques aux documents PDF et il est parfois nécessaire de remplir les objets graphiques avec une couleur en dégradé. Pour remplir des objets graphiques avec une couleur en dégradé, nous devons définir setPatterColorSpace avec l’objet gradientAxialShading comme suit.
Le code suivant montre comment ajouter un objet Rectangle qui est rempli avec une couleur en dégradé.
public static void CreateFilledRectangletGradientFill()
{
// Créer une instance de Document
var doc = new Document();
// Ajouter une page à la collection de pages du fichier PDF
var page = doc.Pages.Add();
// Créer une instance de Graph
var graph = new Aspose.Pdf.Drawing.Graph(400, 400);
// Ajouter un objet graphique à la collection de paragraphes de l'instance de page
page.Paragraphs.Add(graph);
// Créer une instance de Rectangle
var rect = new Rectangle(0, 0, 300, 300);
// Spécifier la couleur de remplissage pour l'objet Graph
var gradientColor = new Color();
var gradientSettings = new GradientAxialShading(Color.Red, Color.Blue)
{
Start = new Point(0, 0),
End = new Point(350, 350)
};
gradientColor.PatternColorSpace = gradientSettings;
rect.GraphInfo.FillColor = gradientColor;
// Ajouter l'objet rectangle à la collection de formes de l'objet Graph
graph.Shapes.Add(rect);
// Enregistrer le fichier PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Créer un rectangle avec un canal de couleur Alpha
Aspose.PDF pour C+++ prend en charge le remplissage d’un objet rectangle avec une certaine couleur. Un objet rectangle peut également avoir un canal de couleur Alpha pour donner un aspect transparent. L’extrait de code suivant montre comment ajouter un objet Rectangle avec un canal de couleur Alpha.
Les pixels de l’image peuvent stocker des informations sur leur opacité ainsi que sur la valeur de la couleur. Cela permet de créer des images avec des zones transparentes ou semi-transparentes.
Au lieu de rendre une couleur transparente, chaque pixel stocke des informations sur son opacité. Ces données d’opacité sont appelées canal alpha et sont généralement stockées après les canaux de couleur du pixel.
public static void RectangleFilled_AlphaChannel()
{
// Créer une instance de Document
var doc = new Document();
// Ajouter une page à la collection de pages du fichier PDF
var page = doc.Pages.Add();
// Créer une instance de Graph
var graph = new Aspose.Pdf.Drawing.Graph(100, 400);
// Ajouter un objet graphique à la collection de paragraphes de l'instance de page
page.Paragraphs.Add(graph);
// Créer une instance de Rectangle
var rect = new Rectangle(100, 100, 200, 120);
// Spécifier la couleur de remplissage pour l'objet Graph
rect.GraphInfo.FillColor = Color.FromArgb(128, 244, 180, 0);
// Ajouter l'objet rectangle à la collection de formes de l'objet Graph
graph.Shapes.Add(rect);
// Créer un deuxième objet rectangle
var rect1 = new Rectangle(200, 150, 200, 100);
rect1.GraphInfo.FillColor = Color.FromArgb(160, 120, 0, 120);
graph.Shapes.Add(rect1);
// Ajouter une instance de graphique à la collection de paragraphes de l'objet de page
page.Paragraphs.Add(graph);
// Enregistrer le fichier PDF
doc.Save(_dataDir + "CreateFilledRectangle_out.pdf");
}
Contrôler l’ordre Z du rectangle
Aspose.PDF pour C++ prend en charge la fonctionnalité d’ajout d’objets graphiques (par exemple graphique, ligne, rectangle, etc.) aux documents PDF. Lors de l’ajout de plus d’une instance du même objet dans un fichier PDF, nous pouvons contrôler leur rendu en spécifiant l’ordre Z. L’ordre Z est également utilisé lorsque nous devons rendre des objets les uns sur les autres.
Le code suivant montre les étapes pour rendre les objets Rectangle les uns sur les autres.
public static void AddRectangleZOrder()
{
// Instancier un objet de classe Document
Document doc1 = new Document();
/// Ajouter une page à la collection de pages du fichier PDF
Page page1 = doc1.Pages.Add();
// Définir la taille de la page PDF
page1.SetPageSize(375, 300);
// Définir la marge gauche de l'objet page à 0
page1.PageInfo.Margin.Left = 0;
// Définir la marge supérieure de l'objet page à 0
page1.PageInfo.Margin.Top = 0;
// Créer un nouveau rectangle avec la couleur rouge, ordre Z à 0 et des dimensions spécifiques
AddRectangle(page1, 50, 40, 60, 40, Color.Red, 2);
// Créer un nouveau rectangle avec la couleur bleue, ordre Z à 0 et des dimensions spécifiques
AddRectangle(page1, 20, 20, 30, 30, Color.Blue, 1);
// Créer un nouveau rectangle avec la couleur verte, ordre Z à 0 et des dimensions spécifiques
AddRectangle(page1, 40, 40, 60, 30, Color.Green, 0);
// Enregistrer le fichier PDF résultant
doc1.Save(_dataDir + "ControlRectangleZOrder_out.pdf");
}