แปรงโค้ดและการไล่ระดับสีของ XPS

โซลูชัน C++ API เพื่อทำงานกับแปรงและการไล่ระดับสีของไฟล์ XPS

 

โซลูชัน Aspose.Page API สำหรับ C++ ให้ความสามารถในการจัดการกราฟิกแบบเวกเตอร์ของไฟล์ XPS ช่วยให้คุณสร้างรูปทรงเรขาคณิตต่างๆ ที่มีสีและพื้นผิวต่างกัน เรียนรู้เพิ่มเติมเกี่ยวกับเอกสาร Aspose.Page เกี่ยวกับ วิธีการทำงานกับแปรง

ในการจัดการแปรงและการไล่ระดับสีของไฟล์ XPS เราต้องการ:

  • Aspose.Page สำหรับ C++ API ซึ่งเป็น API การจัดการและการแปลงเอกสารที่มีคุณลักษณะหลากหลาย ทรงพลัง และใช้งานง่ายสำหรับแพลตฟอร์ม C++

  • คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้โดยตรง เพียงแค่เปิด NuGet package manager แล้วค้นหา Aspose.Page.Cpp และติดตั้ง คุณสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console

Package Manager Console Command


    PM> Install-Package Aspose.Page

ทำงานกับ Visual Brush ด้วย C++

Aspose.Page สำหรับ C++ API ช่วยให้คุณเพิ่มกริดให้กับไฟล์ XPS ของคุณโดยใช้โค้ดไม่กี่บรรทัด สามารถทำได้ทั้งเอกสารใหม่และเอกสารที่มีอยู่ คลาส XpsVisualBrush ใช้เพื่อตั้งค่าคุณสมบัติของกริด โดยใช้ XpsPathGeometry และ XpsCanvas วัตถุ ในการเพิ่มกริดให้กับเอกสาร XPS คุณจะต้องทำตามขั้นตอนเหล่านี้:

  1. การใช้คลาส XpsDocument สร้างวัตถุเอกสาร
  2. สร้างวัตถุ XpsPathGeometry โดยกำหนดส่วนที่จำเป็น
  3. ใช้คลาส XpsCanvas เพื่อตั้งค่าการแปลงการแสดงผล
  4. ปรับคุณสมบัติ Fill และ Opacity ตามต้องการ
  5. บันทึกเอกสารโดยเรียกเมธอด Save()

รหัส C ++ เพื่อเพิ่มเส้นตารางให้กับวิชวลบรัช

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

เพิ่มการไล่ระดับสีในแนวนอนด้วย C++

Aspose.Page สำหรับ C++ API ช่วยให้คุณเพิ่มกริดให้กับไฟล์ XPS ของคุณโดยใช้โค้ดไม่กี่บรรทัด สามารถทำได้ทั้งเอกสารใหม่และเอกสารที่มีอยู่ คลาส XpsVisualBrush ใช้เพื่อตั้งค่าคุณสมบัติของกริด โดยใช้ XpsPathGeometry และ XpsCanvas วัตถุ ในการเพิ่มกริดให้กับเอกสาร XPS คุณจะต้องทำตามขั้นตอนเหล่านี้:

  1. การใช้คลาส XpsDocument สร้างวัตถุเอกสาร
  2. สร้างวัตถุ XpsPathGeometry โดยกำหนดส่วนที่จำเป็น
  3. ใช้คลาส XpsCanvas เพื่อตั้งค่าการแปลงการแสดงผล
  4. ปรับคุณสมบัติ Fill และ Opacity ตามต้องการ

รหัส C ++ เพื่อแทรกการไล่ระดับสีในแนวนอนให้กับไฟล์ 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");



คำถามที่พบบ่อย

1. ฉันจะเพิ่มการไล่ระดับสีลงในไฟล์ XPS ได้อย่างไร

กำหนดเส้นทางไปยังไดเร็กทอรีเอกสาร หากต้องการเพิ่มการไล่ระดับสี ให้ใช้เมธอด CreateColor() และ CreateGradientStop()

2. จะทำงานกับ Visual Brush ในไฟล์ XPS ได้อย่างไร?

กำหนดเส้นทางไปยังไดเร็กทอรีเอกสาร หากต้องการสร้างแปรงภาพให้ใช้เมธอด CreateVisualBrush()

3. เปิดไฟล์ .XPS ได้อย่างไร

ใช้โซลูชัน Aspose.Page API เพื่อ เปิด XPS ไฟล์โดยทางโปรแกรมหรือโดยวิธีข้ามแพลตฟอร์ม XPS Viewer

XPS XPS รูปแบบไฟล์คืออะไร

รูปแบบ XPS คล้ายกับรูปแบบ PDF ทั้งสองรูปแบบเป็นภาษาคำอธิบายหน้า (PDL) EPS อิงตาม HTML ไม่ใช่ภาษา PostScript ไฟล์ .eps สามารถใส่มาร์กอัปของโครงสร้างของเอกสารพร้อมกับข้อมูลเกี่ยวกับลักษณะของเอกสารได้ นอกจากนี้ยังมีคำแนะนำเพิ่มเติมเกี่ยวกับวิธีการพิมพ์และแสดงผลเอกสาร คุณสมบัติของรูปแบบคือ แก้ไขคำอธิบายของเอกสาร ซึ่งหมายความว่าจะมีลักษณะเหมือนกันไม่ว่าใครจะเปิดจากระบบปฏิบัติการใด