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 :

  1. À l’aide de la classe XpsDocument créez un objet Document
  2. Créez un objet XpsPathGeometry avec les segments nécessaires définis.
  3. Utilisez la classe XpsCanvas pour définir la transformation de rendu.
  4. Ajustez les propriétés Remplissage et Opacité comme vous le souhaitez.
  5. 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 :

  1. À l’aide de la classe XpsDocument créez un objet Document
  2. Créez un objet XpsPathGeometry avec les segments nécessaires définis.
  3. Utilisez la classe XpsCanvas pour définir la transformation de rendu.
  4. 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.