XPS kódecsetek és színátmenetek

C++ API megoldás XPS-fájlok ecsetjeivel és színátmeneteivel való munkához.

 

Az Aspose.Page API Solution for C++ lehetőséget biztosít az XPS fájlok vektorgrafikájának manipulálására. Lehetővé teszi különféle geometriai formák létrehozását különböző színekkel és textúrákkal. Ismerje meg az Aspose.Page dokumentációját is hogyan kell dolgozni az ecsettel .

Az XPS-fájlok ecsetjeinek és színátmeneteinek kezeléséhez a következőkre van szükségünk:

  • Az Aspose.Page for C++ API, amely funkciókban gazdag, hatékony és könnyen használható dokumentumkezelési és -konverziós API C++ platformhoz.

  • A legújabb verziót közvetlenül letöltheti, csak nyissa meg a NuGet csomagkezelőt, keresse meg az Aspose.Page.Cpp fájlt, és telepítse. A következő parancsot is használhatja a Package Manager konzolból.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Dolgozzon vizuális ecsettel C++-szal

Az Aspose.Page for C++ API lehetővé teszi, hogy rácsot adjon az XPS-fájlokhoz néhány sornyi kód használatával. Ez új és meglévő dokumentumok esetén is megtehető. Az XpsVisualBrush osztály a rács tulajdonságainak beállítására szolgál az XpsPathGeometry és a XpsCanvas objektumok. Ha rácsot szeretne hozzáadni XPS-dokumentumához, kövesse az alábbi lépéseket:

  1. Az XpsDocument osztály használatával hozzon létre egy dokumentum objektumot
  2. Hozzon létre egy XpsPathGeometry objektumot a szükséges szegmensekkel.
  3. Használja az XpsCanvas osztályt a renderelési átalakítás beállításához.
  4. Állítsa be a Fill és Opacity tulajdonságokat igény szerint.
  5. Mentse el a dokumentumot a Save() metódus hívásával.

C++ kód rács hozzáadásához a vizuális ecsethez

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

Vízszintes színátmenet hozzáadása a C++ segítségével.

Az Aspose.Page for C++ API lehetővé teszi, hogy rácsot adjon az XPS-fájlokhoz néhány sornyi kód használatával. Ez új és meglévő dokumentumok esetén is megtehető. Az XpsVisualBrush osztály a rács tulajdonságainak beállítására szolgál az XpsPathGeometry és a XpsCanvas objektumok. Ha rácsot szeretne hozzáadni XPS-dokumentumához, kövesse az alábbi lépéseket:

  1. Az XpsDocument osztály használatával hozzon létre egy dokumentum objektumot
  2. Hozzon létre egy XpsPathGeometry objektumot a szükséges szegmensekkel.
  3. Használja az XpsCanvas osztályt a renderelési átalakítás beállításához.
  4. Állítsa be a Fill és Opacity tulajdonságokat igény szerint.

C++ kód vízszintes színátmenet beszúrásához XPS fájlba

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



GYIK

1. Hogyan adhatok színátmenetet egy XPS-fájlhoz?

Állítsa be a dokumentumok könyvtárának elérési útját. Gradiens hozzáadásához használja a CreateColor() és CreateGradientStop() metódusokat.

2. Hogyan lehet vizuális ecsettel dolgozni XPS-fájlban?

Állítsa be a dokumentumok könyvtárának elérési útját. Vizuális ecset létrehozásához használja a CreateVisualBrush() metódust.

3. XPS fájl - Mivel nyitható meg egy XPS fájl?

Használja az Aspose.Page API megoldást a Open XPS fájlokhoz programozottan vagy többplatformos XPS Viewer segítségével.

XPS Mi a XPS fájlformátum

Az XPS formátum hasonló a PDF formátumhoz. Mindkettő oldalleíró nyelv (PDL) formátum. Az EPS HTML alapú, és nem PostScript nyelven. Az .eps fájl képes tartalmazni a dokumentum szerkezetének jelölését, valamint a dokumentum megjelenésére vonatkozó információkat. A dokumentum nyomtatására és renderelésére vonatkozó utasításokat is tartalmazzák. A formátum jellemzője, hogy rögzíti a dokumentum leírását, ami azt jelenti, hogy ugyanúgy fog kinézni, függetlenül attól, hogy ki és milyen operációs rendszerről nyitja meg.