Bekerja dengan kuas dan gradien

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

 

Solusi Aspose.Page untuk .NET API memungkinkan Anda memanipulasi grafik vektor file XPS. Anda dapat membuat berbagai bentuk geometris dengan warna dan tekstur yang berbeda. Pada halaman ini akan dijelaskan beberapa contoh bagaimana menambahkan ruang warna yang berbeda, dan gradien, dan bagaimana bekerja dengan kuas yang berbeda. Bekerja secara analog, Anda akan dapat membuat figur geometris apa pun yang Anda butuhkan dengan warna apa pun.

Untuk memanipulasi kuas dan gradien file XPS, kita perlu:

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

  • Buka manajer paket NuGet, cari Aspose.Page dan instal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Page

Langkah-langkah untuk menerapkan ruang warna dengan C# .NET.

  1. Atur jalur ke direktori dokumen.
  2. Buat file XPS menggunakan XpsDocument Class .
  3. Untuk membuat persegi panjang berisi warna solid yang berbeda, gunakan metode Kelas XpsPath .
  4. Simpan dokumen XPS yang diubah menggunakan Metode XPsDocument.Save() .

Kode C# untuk mengatur ruang warna dari file XPS

    using Aspose.Page.XPS;
    using Aspose.Page.XPS.XpsModel;
    using System.Drawing;
    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithShapes();
            
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // ARGB solid color filled rectangle
    XpsPath rect1 = doc.AddPath(doc.CreatePathGeometry("M 20,10 L 220,10 220,100 20,100 Z"));
    rect1.Fill = doc.CreateSolidColorBrush(doc.CreateColor(Color.FromArgb(222, 12, 15, 159)));

    // ARGB solid color filled rectangle, in another way
    XpsPath rect2 = doc.AddPath(doc.CreatePathGeometry("M 20,210 L 220,210 220,300 20,300 Z"));
    rect2.Fill = doc.CreateSolidColorBrush(doc.CreateColor(222, 12, 15, 159));

    // sRGB solid color filled rectangle
    XpsPath rect3 = doc.AddPath(doc.CreatePathGeometry("M 20,410 L 220,410 220,500 20,500 Z"));
    rect3.Fill = doc.CreateSolidColorBrush(doc.CreateColor(12, 15, 159));

    // scRGB solid color filled rectangle
    XpsPath rect4 = doc.AddPath(doc.CreatePathGeometry("M 20,610 L 220,610 220,700 20,700 Z"));
    rect4.Fill = doc.CreateSolidColorBrush(doc.CreateColor(0.08706f, 0.04706f, 0.05882f, 0.62353f));

    // CMYK (blue) solid color filled rectangle
    XpsPath rect5 = doc.AddPath(doc.CreatePathGeometry("M 20,810 L 220,810 220,900 20,900 Z"));
    rect5.Fill = doc.CreateSolidColorBrush(
        doc.CreateColor(dataDir + "uswebuncoated.icc", 1.0f, 1.000f, 0.000f, 0.000f, 0.000f));
            
    // Save the resultant XPS document
    doc.Save(dataDir + "ApplyDifferentColorSpaces_out.xps");
Cuplikan kode berikutnya menunjukkan cara menggunakan kuas visual dari file XPS dalam Aspose.Page untuk .NET Api Solution.

Langkah-langkah untuk bekerja dengan kuas visual dengan C#.

  1. Atur jalur ke direktori dokumen.
  2. Buat file XPS menggunakan XpsDocument Class.
  3. Buat geometri untuk Kuas Visual kisi magenta menggunakan Kelas XpsPathGeometry .
  4. Untuk menyetel kanvas untuk Kuas Visual kisi magenta gunakan Metode CreateCanvas() .
  5. Untuk membuat Visual Brush gunakan Metode CreateVisualBrush() .
  6. Simpan dokumen XPS yang diubah melalui Metode XPsDocument.Save().

C# Code untuk memanipulasi visual brush dari file XPS

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithVisualBrush();

    XpsDocument doc = new XpsDocument();
    // Geometry for the magenta grid VisualBrush
    XpsPathGeometry pathGeometry = doc.CreatePathGeometry();
    pathGeometry.AddSegment(doc.CreatePolyLineSegment(
        new PointF[] { new PointF(240f, 5f), new PointF(240f, 310f), new PointF(0f, 310f) }));
    pathGeometry[0].StartPoint = new PointF(0f, 5f);

    // Canvas for the magenta grid VisualBrush
    XpsCanvas visualCanvas = doc.CreateCanvas();

    XpsPath visualPath = visualCanvas.AddPath(
        doc.CreatePathGeometry("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.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1f, .61f, 0.1f, 0.61f));

    XpsPath gridPath = doc.CreatePath(pathGeometry);
    // Create the Visual Brush, it is specified by some XPS fragment (vector graphics and glyphs)
    gridPath.Fill = doc.CreateVisualBrush(visualCanvas,
        new RectangleF(0f, 0f, 10f, 10f), new RectangleF(0f, 0f, 10f, 10f));
    ((XpsVisualBrush)gridPath.Fill).TileMode = XpsTileMode.Tile;
    // New canvas
    XpsCanvas canvas = doc.AddCanvas();
    canvas.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 268f, 70f);
    // Add a grid
    canvas.AddPath(pathGeometry);
    // Red transparent rectangle in the middle top
    XpsPath path = canvas.AddPath(doc.CreatePathGeometry("M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
    path = canvas.AddPath(doc.CreatePathGeometry("M 10,10 L 228,10 228,100 10,100"));
    path.Fill = doc.CreateSolidColorBrush(doc.CreateColor(1.0f, 0.0f, 0.0f));
    path.Opacity = 0.7f;
    // Save the resultant XPS document
    doc.Save(dataDir + "AddGrid_out.xps");

Langkah-langkah untuk menambahkan gradien horizontal dengan C#.

  1. Atur jalur ke direktori dokumen.
  2. Buat file XPS menggunakan XpsDocument Class.
  3. Inisialisasi Daftar XpsGradentStop menggunakan CreateGradientStop() dan CreateColor() Metode.
  4. Buat jalur baru dengan mendefinisikan geometri dalam bentuk singkatan menggunakan metode Kelas XpsPath.
  5. Simpan dokumen XPS yang diubah melalui Metode XPsDocument.Save().

Kode C# untuk menyisipkan gradien horizontal ke file XPS

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithGradient();
    // Create a new XPS Document
    XpsDocument doc = new XpsDocument();

    // Initialize the List of XpsGradentStop
    List<XpsGradientStop> stops = new List<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), 1f));

    // Create a new path by defining the geometery in the abbreviation form
    XpsPath path = doc.AddPath(doc.CreatePathGeometry("M 10,210 L 228,210 228,300 10,300"));
    path.RenderTransform = doc.CreateMatrix(1f, 0f, 0f, 1f, 20f, 70f);
    path.Fill = doc.CreateLinearGradientBrush(new PointF(10f, 0f), new PointF(228f, 0f));
    ((XpsGradientBrush)path.Fill).GradientStops.AddRange(stops);

    // Save the resultant XPS document
    doc.Save(dataDir + "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.