Pinceaux de code et dégradés de XPS
Solution API C++ pour travailler avec des pinceaux et des dégradés de fichiers XPS.
La solution API Aspose.Page pour C++ vous offre la possibilité de manipuler les graphiques vectoriels des fichiers XPS. Il vous permet de créer diverses formes géométriques avec différentes couleurs et textures. Découvrez également la documentation Aspose.Page sur comment travailler avec des pinceaux .
Pour manipuler les pinceaux et les dégradés des fichiers XPS, nous avons besoin :
Aspose.Page pour l'API C++ qui est une API de manipulation et de conversion de documents riche en fonctionnalités, puissante et facile à utiliser pour la plate-forme C++.
Vous pouvez télécharger directement sa dernière version, ouvrez simplement le gestionnaire de packages NuGet, recherchez Aspose.Page.Cpp et installez-le. Vous pouvez également utiliser la commande suivante à partir de la console du gestionnaire de packages.
Package Manager Console Command
PM> Install-Package Aspose.Page
Travailler avec un pinceau visuel avec C++
L’API Aspose.Page pour C++ vous permet d’ajouter une grille à vos fichiers XPS en utilisant quelques lignes de code. Cela peut être fait pour les documents nouveaux et existants. La classe XpsVisualBrush est utilisée pour définir les propriétés de la grille, en utilisant XpsPathGeometry et XpsCanvas objets. Pour ajouter une grille à votre document XPS, vous devrez suivre ces étapes :
- À l’aide de la classe XpsDocument créez un objet Document
- Créez un objet XpsPathGeometry avec les segments nécessaires définis.
- Utilisez la classe XpsCanvas pour définir la transformation de rendu.
- Ajustez les propriétés Remplissage et Opacité comme vous le souhaitez.
- Enregistrez le document en appelant la méthode Save().
Code C++ pour ajouter une grille à un pinceau visuel
using Aspose::Page::XPS;
using Aspose::Page::XPS::XpsModel;
using System::Drawing;
// Create geometry for a magenta grid VisualBrush
System::SharedPtr<XpsPathGeometry> pathGeometry = doc->CreatePathGeometry();
pathGeometry->AddSegment(doc->CreatePolyLineSegment(System::MakeArray<System::Drawing::PointF>({ System::Drawing::PointF(240.f, 5.f), System::Drawing::PointF(240.f, 310.f), System::Drawing::PointF(0.f, 310.f) })));
pathGeometry->idx_get(0)->set_StartPoint(System::Drawing::PointF(0.f, 5.f));
// Create canvas for the magenta grid VisualBrush
System::SharedPtr<XpsCanvas> visualCanvas = doc->CreateCanvas();
System::SharedPtr<XpsPath> visualPath = visualCanvas->AddPath(doc->CreatePathGeometry(u"M 0,4 L 4,4 4,0 6,0 6,4 10,4 10,6 6,6 6,10 4,10 4,6 0,6 Z"));
visualPath->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.f, .61f, 0.1f, 0.61f)));
System::SharedPtr<XpsPath> gridPath = doc->CreatePath(pathGeometry);
// Create a Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
gridPath->set_Fill(doc->CreateVisualBrush(visualCanvas, System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f), System::Drawing::RectangleF(0.f, 0.f, 10.f, 10.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsVisualBrush>(gridPath->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
// Create a new canvas
System::SharedPtr<XpsCanvas> canvas = doc->AddCanvas();
canvas->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 268.f, 70.f));
// Add a grid
canvas->AddPath(gridPath);
// Create a red transparent rectangle in the middle top
System::SharedPtr<XpsPath> path = canvas->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
path = canvas->AddPath(doc->CreatePathGeometry(u"M 10,10 L 228,10 228,100 10,100"));
path->set_Fill(doc->CreateSolidColorBrush(doc->CreateColor(1.0f, 0.0f, 0.0f)));
path->set_Opacity(0.7f);
// Save the resultant XPS document
doc->Save(outDir() + u"AddGrid_out.xps");
Ajouter un dégradé horizontal avec C++.
L’API Aspose.Page pour C++ vous permet d’ajouter une grille à vos fichiers XPS en utilisant quelques lignes de code. Cela peut être fait pour les documents nouveaux et existants. La classe XpsVisualBrush est utilisée pour définir les propriétés de la grille, en utilisant XpsPathGeometry et XpsCanvas objets. Pour ajouter une grille à votre document XPS, vous devrez suivre ces étapes :
- À l’aide de la classe XpsDocument créez un objet Document
- Créez un objet XpsPathGeometry avec les segments nécessaires définis.
- Utilisez la classe XpsCanvas pour définir la transformation de rendu.
- Ajustez les propriétés Remplissage et Opacité comme vous le souhaitez.
Code C++ pour insérer un dégradé horizontal dans un fichier XPS
// Create new XPS Document
auto doc = System::MakeObject<XpsDocument>();
// Initialize List of XpsGradentStop
System::SharedPtr<System::Collections::Generic::List<System::SharedPtr<XpsGradientStop>>> stops = System::MakeObject<System::Collections::Generic::List<System::SharedPtr<XpsGradientStop>>>();
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 244, 253, 225), 0.0673828f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 251, 240, 23), 0.314453f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 252, 209, 0), 0.482422f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 241, 254, 161), 0.634766f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 53, 253, 255), 0.915039f));
stops->Add(doc->CreateGradientStop(doc->CreateColor(255, 12, 91, 248), 1.f));
// Create new path by defining geometery in abbreviation form
System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,210 L 228,210 228,300 10,300"));
path->set_RenderTransform(doc->CreateMatrix(1.f, 0.f, 0.f, 1.f, 20.f, 70.f));
path->set_Fill(doc->CreateLinearGradientBrush(System::Drawing::PointF(10.f, 0.f), System::Drawing::PointF(228.f, 0.f)));
(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsGradientBrush>(path->get_Fill()))->get_GradientStops()->AddRange(stops);
// Save resultant XPS document
doc->Save(outDir() + u"AddHorizontalGradient_out.xps");
FAQ
1. Comment puis-je ajouter un dégradé à un fichier XPS ?
Définissez le chemin d’accès au répertoire des documents. Pour ajouter un dégradé, utilisez les méthodes CreateColor() et CreateGradientStop().
2. Comment travailler avec un pinceau visuel dans un fichier XPS ?
Définissez le chemin d’accès au répertoire des documents. Pour créer un pinceau visuel, utilisez la méthode CreateVisualBrush().
3. Comment ouvrir un fichier XPS ?
Utilisez la solution API Aspose.Page pour ouvrir XPS un fichier par programme ou au moyen d’une multiplateforme XPS Viewer .
XPS Qu'est-ce que le format de fichier XPS
Le format XPS est similaire au format PDF. Les deux sont des formats de langage de description de page (PDL). EPS est basé sur HTML et non sur le langage PostScript. Le fichier .eps est capable de contenir un balisage de la structure du document ainsi que des informations sur l'apparence du document. Il existe également des instructions supplémentaires sur la façon d'imprimer et de rendre le document. La caractéristique du format est qu'il fixe la description du document, ce qui signifie qu'il aura le même aspect, peu importe qui et à partir de quel système opérationnel l'ouvre.