Kuas kode dan gradien XPS

Solusi C++ API untuk bekerja dengan kuas dan gradien file XPS.

 

Aspose.Page API Solution untuk C++ memberi Anda kemampuan untuk memanipulasi grafik vektor file XPS. Ini memungkinkan Anda membuat berbagai bentuk geometris dengan berbagai warna dan tekstur. Pelajari juga dokumentasi Aspose.Page tentang cara bekerja dengan kuas .

Untuk memanipulasi kuas dan gradien file XPS, kita membutuhkan:

  • Aspose.Page untuk C++ API yang kaya fitur, kuat, dan mudah digunakan untuk manipulasi dokumen dan API konversi untuk platform C++.

  • Anda dapat mengunduh versi terbarunya secara langsung, cukup buka pengelola paket NuGet, dan cari Aspose.Page.Cpp dan instal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Bekerja dengan kuas visual dengan C++

Aspose.Page untuk C++ API memungkinkan Anda menambahkan kisi ke file XPS menggunakan beberapa baris kode. Ini dapat dilakukan untuk dokumen baru dan yang sudah ada. Kelas XpsVisualBrush digunakan untuk menyetel properti kisi, menggunakan XpsPathGeometry dan XpsCanvas objek. Untuk menambahkan kisi ke dokumen XPS Anda, Anda harus mengikuti langkah-langkah berikut:

  1. Menggunakan Kelas XpsDocument membuat objek Dokumen
  2. Buat objek XpsPathGeometry dengan segmen yang diperlukan ditentukan.
  3. Gunakan Kelas XpsCanvas untuk menyetel transformasi rendering.
  4. Sesuaikan properti Fill dan Opacity sesuai keinginan.
  5. Simpan dokumen dengan memanggil Metode Save().

Kode C++ untuk menambahkan kisi ke kuas visual

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

Tambahkan gradien horizontal dengan C++.

Aspose.Page untuk C++ API memungkinkan Anda menambahkan kisi ke file XPS menggunakan beberapa baris kode. Ini dapat dilakukan untuk dokumen baru dan yang sudah ada. Kelas XpsVisualBrush digunakan untuk menyetel properti kisi, menggunakan XpsPathGeometry dan XpsCanvas objek. Untuk menambahkan kisi ke dokumen XPS Anda, Anda harus mengikuti langkah-langkah berikut:

  1. Menggunakan Kelas XpsDocument membuat objek Dokumen
  2. Buat objek XpsPathGeometry dengan segmen yang diperlukan ditentukan.
  3. Gunakan Kelas XpsCanvas untuk menyetel transformasi rendering.
  4. Sesuaikan properti Fill dan Opacity sesuai keinginan.

Kode C++ untuk memasukkan gradien horizontal ke 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");



Pertanyaan Umum

1. Bagaimana cara menambahkan gradien ke file XPS?

Tetapkan jalur ke direktori dokumen. Untuk menambahkan gradien gunakan Metode CreateColor() dan CreateGradientStop().

2. Bagaimana cara bekerja dengan kuas visual di file XPS?

Tetapkan jalur ke direktori dokumen. Untuk membuat kuas visual gunakan Metode CreateVisualBrush().

3. Bagaimana cara membuka file XPS?

Gunakan Solusi API Aspose.Page untuk membuka XPS file secara terprogram atau melalui lintas platform XPS Viewer .

XPS Apa itu Format File XPS

Format XPS mirip dengan format PDF. Keduanya adalah format bahasa deskripsi halaman (PDL). EPS didasarkan pada HTML dan bukan pada bahasa PostScript. File .eps mampu memuat markup struktur dokumen bersama dengan informasi tentang bagaimana dokumen itu akan terlihat. Ada juga petunjuk tambahan tentang cara mencetak dan merender dokumen. Fitur formatnya adalah memperbaiki deskripsi dokumen yang berarti akan terlihat sama tidak peduli siapa dan dari sistem operasional apa yang membukanya.