Робота з зображеннями | Рішення C++ API

Додайте зображення в документи XPS

Додати зображення

API Aspose.Page для C++ дозволяє створювати/читати документи XPS і додавати до них зображення. Це можна зробити, створивши Matrix і ImageBrush, щоб додати зображення до файлу XPS. Щоб додати зображення до документа XPS, виконайте наступні дії.

  1. Створіть об’єкт класу XpsDocument.
  2. Створіть об’єкт XpsPath із визначеною геометрією шляху
  3. Встановіть Render Transformation для шляху
  4. Збережіть документ на диск за допомогою методу Зберегти
 1For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-C
 2// Create new XPS Document
 3System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
 4// Add Image
 5System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 30,20 l 258.24,0 0,56.64 -258.24,0 Z"));
 6//Creating a matrix is optional, it can be used for proper positioning
 7path->set_RenderTransform(doc->CreateMatrix(0.7f, 0.f, 0.f, 0.7f, 0.f, 20.f));
 8//Create Image Brush
 9path->set_Fill(doc->CreateImageBrush(dataDir() + u"QL_logo_color.tif", System::Drawing::RectangleF(0.f, 0.f, 258.24f, 56.64f), System::Drawing::RectangleF(50.f, 20.f, 193.68f, 42.48f)));
10// Save resultant XPS document
11doc->Save(outDir() + u"AddImage_out.xps");

Додати мозаїчне зображення

Рішення пропонує клас  XpsPath, за допомогою якого ви можете додавати зображення в документ XPS. Вам потрібно створити Matrix і ImageBrush, потім указати режим XpsTileMode.Tile і зберегти XpsDocument. Наступний фрагмент коду демонструє повну функціональність для додавання мозаїчного зображення до документа XPS:

 1For complete examples and data files, please go to https://github.com/aspose-page/Aspose.Page-for-C
 2// Create new XPS Document
 3System::SharedPtr<XpsDocument> doc = System::MakeObject<XpsDocument>();
 4// Tile image
 5// ImageBrush filled rectangle in the right top bellow
 6System::SharedPtr<XpsPath> path = doc->AddPath(doc->CreatePathGeometry(u"M 10,160 L 228,160 228,305 10,305"));
 7path->set_Fill(doc->CreateImageBrush(dataDir() + u"R08LN_NN.jpg", System::Drawing::RectangleF(0.f, 0.f, 128.f, 96.f), System::Drawing::RectangleF(0.f, 0.f, 64.f, 48.f)));
 8(System::DynamicCast<Aspose::Page::Xps::XpsModel::XpsImageBrush>(path->get_Fill()))->set_TileMode(Aspose::Page::Xps::XpsModel::XpsTileMode::Tile);
 9path->get_Fill()->set_Opacity(0.5f);
10// Save resultant XPS document
11doc->Save(outDir() + u"AddTiledImage_out.xps");
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.