فرش الكود وتدرجات 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 ، ستحتاج إلى اتباع الخطوات التالية:
- باستخدام XpsDocument إنشاء فئة كائن مستند
- قم بإنشاء كائن XpsPathGeometry مع تحديد الأجزاء الضرورية.
- استخدم فئة XpsCanvas لتعيين تحويل العرض.
- اضبط خصائص Fill و Opacity حسب الرغبة.
- احفظ المستند عن طريق استدعاء طريقة 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 ، ستحتاج إلى اتباع الخطوات التالية:
- باستخدام XpsDocument إنشاء فئة كائن مستند
- قم بإنشاء كائن XpsPathGeometry مع تحديد الأجزاء الضرورية.
- استخدم فئة XpsCanvas لتعيين تحويل العرض.
- اضبط خصائص 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 على ترميز لهيكل المستند بالإضافة إلى معلومات حول الشكل الذي سيبدو عليه المستند. هناك أيضًا إرشادات مضافة حول كيفية طباعة المستند وتقديمه. تتمثل ميزة التنسيق في أنه يعمل على إصلاح وصف المستند مما يعني أنه سيبدو كما هو بغض النظر عن من ومن أي نظام تشغيل يفتحه.