فرش الكود وتدرجات XPS

حل C++ API للعمل مع الفرش والتدرجات لملفات XPS.

 

يوفر لك حل Aspose.Page API لـ C++ القدرة على معالجة الرسومات المتجهة لملفات XPS. يتيح لك إنشاء أشكال هندسية مختلفة بألوان وأنسجة مختلفة. تعرف أيضًا على وثائق Aspose.Page حول كيفية العمل بالفرش .

لمعالجة الفرش والتدرجات اللونية لملفات XPS ، نحتاج إلى:

  • Aspose.Page لـ C++ API وهي واجهة برمجة تطبيقات لمعالجة المستندات وتحويلها غنية بالميزات وقوية وسهلة الاستخدام لمنصة C++.

  • يمكنك تنزيل أحدث إصدار له مباشرةً ، فقط افتح مدير حزمة NuGet ، وابحث عن Aspose.Page.Cpp وتثبيته. يمكنك أيضًا استخدام الأمر التالي من Package Manager Console.

Package Manager Console Command


    PM> Install-Package Aspose.Page

استخدم الفرشاة المرئية باستخدام C++

يتيح لك Aspose.Page for 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 for 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. كيفية العمل باستخدام الفرشاة المرئية في ملف XPS؟

قم بتعيين المسار إلى دليل المستندات. لإنشاء فرشاة مرئية، استخدم طريقة CreateVisualBrush().

3. كيفية فتح ملف XPS؟

استخدم Aspose.Page API Solution لفتح ملف XPS برمجيًا أو عبر الأنظمة الأساسية المشتركة XPS Viewer .

XPS ما هو XPS تنسيق الملف

تنسيق XPS مشابه لتنسيق PDF. كلاهما عبارة عن تنسيقات لغة وصف الصفحة (PDL). يعتمد EPS على HTML وليس على لغة PostScript. يمكن أن يحتوي ملف .eps على ترميز لهيكل المستند بالإضافة إلى معلومات حول الشكل الذي سيبدو عليه المستند. هناك أيضًا إرشادات مضافة حول كيفية طباعة المستند وتقديمه. تتمثل ميزة التنسيق في أنه يعمل على إصلاح وصف المستند مما يعني أنه سيبدو كما هو بغض النظر عن من ومن أي نظام تشغيل يفتحه.