Codice pennelli e gradienti di XPS

Soluzione API C++ per lavorare con pennelli e gradienti di file XPS.

 

La soluzione API Aspose.Page per C++ ti offre la possibilità di manipolare la grafica vettoriale dei file XPS. Ti consente di creare varie forme geometriche con diversi colori e trame. Scopri anche la documentazione di Aspose.Page su come lavorare con i pennelli .

Per manipolare pennelli e gradienti di file XPS, abbiamo bisogno di:

  • Aspose.Page per l'API C++ che è un'API per la manipolazione e la conversione dei documenti ricca di funzionalità, potente e facile da usare per la piattaforma C++.

  • Puoi scaricare direttamente la sua ultima versione, basta aprire il gestore pacchetti NuGet e cercare Aspose.Page.Cpp e installarlo. È inoltre possibile utilizzare il seguente comando dalla console di Package Manager.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Lavora con il pennello visivo con C++

L’API Aspose.Page per C++ ti consente di aggiungere una griglia ai tuoi file XPS usando poche righe di codice. Questo può essere fatto sia per i documenti nuovi che per quelli esistenti. La classe XpsVisualBrush viene utilizzata per impostare le proprietà della griglia, utilizzando XpsPathGeometry e XpsCanvas oggetti. Per aggiungere una griglia al tuo documento XPS, dovrai seguire questi passaggi:

  1. Utilizzando la classe XpsDocument creare un oggetto Document
  2. Crea un oggetto XpsPathGeometry con i segmenti necessari definiti.
  3. Utilizza la classe XpsCanvas per impostare la trasformazione del rendering.
  4. Regola le proprietà Fill e Opacity come desiderato.
  5. Salva il documento chiamando il metodo Save().

Codice C++ per aggiungere una griglia a un pennello visivo

    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");

Aggiungi gradiente orizzontale con C++.

L’API Aspose.Page per C++ ti consente di aggiungere una griglia ai tuoi file XPS usando poche righe di codice. Questo può essere fatto sia per i documenti nuovi che per quelli esistenti. La classe XpsVisualBrush viene utilizzata per impostare le proprietà della griglia, utilizzando XpsPathGeometry e XpsCanvas oggetti. Per aggiungere una griglia al tuo documento XPS, dovrai seguire questi passaggi:

  1. Utilizzando la classe XpsDocument creare un oggetto Document
  2. Crea un oggetto XpsPathGeometry con i segmenti necessari definiti.
  3. Utilizza la classe XpsCanvas per impostare la trasformazione del rendering.
  4. Regola le proprietà Fill e Opacity come desiderato.

Codice C++ per inserire il gradiente orizzontale in un file 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. Come posso aggiungere una sfumatura a un file XPS?

Imposta il percorso della directory dei documenti. Per aggiungere una sfumatura utilizzare i metodi CreateColor() e CreateGradientStop().

2. Come lavorare con un pennello visivo in un file XPS?

Imposta il percorso della directory dei documenti. Per creare un pennello visivo utilizzare il metodo CreateVisualBrush().

3. Come aprire un file XPS?

Utilizzare la soluzione API Aspose.Page per aprire XPS file a livello di codice o tramite multipiattaforma XPS Viewer .

XPS Cos'è il formato file XPS

Il formato XPS è simile al formato PDF. Entrambi sono formati PDL (Page Description Language). EPS è basato su HTML e non sul linguaggio PostScript. Il file .eps è in grado di contenere un markup della struttura del documento insieme alle informazioni sull'aspetto del documento. Ci sono anche istruzioni aggiunte su come stampare e renderizzare il documento. La caratteristica del formato è che corregge la descrizione del documento, il che significa che avrà lo stesso aspetto indipendentemente da chi e da quale sistema operativo lo apra.