Bàn chải mã và độ dốc của XPS

Giải pháp API C++ để hoạt động với cọ vẽ và độ dốc của tệp XPS.

 

Giải pháp API Aspose.Page cho C++ cung cấp cho bạn khả năng thao tác đồ họa vector của tệp XPS. Nó cho phép bạn tạo ra nhiều hình dạng hình học khác nhau với màu sắc và kết cấu khác nhau. Tìm hiểu thêm tài liệu Aspose.Page về cách làm việc với cọ .

Để thao tác với các cọ vẽ và độ dốc của tệp XPS, chúng ta cần:

  • Aspose.Page for C++ API là một API chuyển đổi và thao tác tài liệu giàu tính năng, mạnh mẽ và dễ sử dụng cho nền tảng C++.

  • Bạn có thể tải trực tiếp phiên bản mới nhất của nó xuống, chỉ cần mở trình quản lý gói NuGet và tìm kiếm Aspose.Page.Cpp rồi cài đặt. Bạn cũng có thể sử dụng lệnh sau từ Bảng điều khiển quản lý gói.

Package Manager Console Command


    PM> Install-Package Aspose.Page.Cpp

Làm việc với cọ vẽ trực quan bằng C++

API Aspose.Page dành cho C++ cho phép bạn thêm lưới vào tệp XPS của mình bằng cách sử dụng một vài dòng mã. Điều này có thể được thực hiện cho cả tài liệu mới và hiện có. Lớp XpsVisualBrush được sử dụng để đặt các thuộc tính của lưới, sử dụng XpsPathGeometryXpsCanvas . Để thêm lưới vào tài liệu XPS của bạn, bạn cần làm theo các bước sau:

  1. Sử dụng Lớp XpsDocument để tạo đối tượng Tài liệu
  2. Tạo một đối tượng XpsPathGeometry với các phân đoạn cần thiết được xác định.
  3. Sử dụng Lớp XpsCanvas để thiết lập chuyển đổi kết xuất.
  4. Điều chỉnh các thuộc tính FillOpacity theo ý muốn.
  5. Lưu tài liệu bằng cách gọi Phương thức Save().
Namespaces in use
using Aspose::Page::XPS;
using Aspose::Page::XPS::XpsModel;
using System::Drawing;
Sử dụng cọ vẽ trực quan để tạo lưới
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithVisualBrush();
System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
// Geometry for 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));
// Canvas for 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->AddPath(pathGeometry);
//Create 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::ExplicitCast<Aspose::Page::XPS::XpsModel::XpsVisualBrush>(gridPath->get_Fill()))->set_TileMode(Aspose::Page::XPS::XpsModel::XpsTileMode::Tile);
// 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 grid
canvas->AddPath(pathGeometry);
// 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 resultant XPS document
doc->Save(dataDir + u"output/" + u"AddGrid_out.xps");
view raw add-grid.cpp hosted with ❤ by GitHub

Thêm một gradient ngang với C++.

Giải pháp API Aspose.Page dành cho C++ cho phép bạn thêm các loại chuyển màu khác nhau vào tài liệu XPS của mình bằng cách sử dụng XpsGradientBrush Lớp. Lớp này được sử dụng để chỉ định thông tin XpsGradientStop và XpsPath cho đối tượng XpsDocument đại diện cho tệp XPS. Đây là một ví dụ về cách thực hiện việc này:

  1. Khởi tạo một đối tượng XpsDocument.
  2. Xác định các tham số XpsGradientStopXpsPath cho tài liệu XPS.
  3. Đặt thông tin kết xuất.
  4. Lưu tài liệu bằng Phương thức Save().
Chèn gradient ngang vào XPS
// The path to the documents directory.
System::String dataDir = RunExamples::GetDataDir_WorkingWithGradient();
// Create new XPS Document
System::SharedPtr<XpsDocument> 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::ExplicitCast<Aspose::Page::XPS::XpsModel::XpsGradientBrush>(path->get_Fill()))->get_GradientStops()->AddRange(stops);
// Save resultant XPS document
doc->Save(dataDir + u"output/" + u"AddHorizontalGradient_outXPS.xps");

XPS Những gì là XPS Tập Tin Định Dạng

Định dạng XPS tương tự như định dạng PDF. Cả hai đều là định dạng ngôn ngữ mô tả trang (PDL). EPS dựa trên HTML và không dựa trên ngôn ngữ PostScript. Tệp .eps có thể chứa phần đánh dấu cấu trúc của tài liệu cùng với thông tin về cách tài liệu sẽ trông như thế nào. Ngoài ra còn có các hướng dẫn bổ sung về cách in và kết xuất tài liệu. Đặc điểm của định dạng là nó sửa chữa mô tả của tài liệu, có nghĩa là nó sẽ trông giống nhau cho dù ai và từ hệ thống hoạt động nào mở nó ra.