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

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

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

API Aspose.Page для C++ дозволяє створювати/читати документи XPS і додавати до них зображення.

Це можна зробити, створивши XpsMatrix і XpsImageBrush, щоб додати зображення до файлу XPS. Щоб додати зображення до документа XPS, виконайте наступні дії.

  1. Створіть об’єкт класу XpsDocument.
  2. Створіть об’єкт XpsPath із визначеною геометрією шляху
  3. Встановіть трансформацію візуалізації для шляху за допомогою set_RenderTransform
  4. Заповніть контур пензлем створеного зображення за допомогою set_Fill
  5. Збережіть документ на диск за допомогою методу Зберегти.
 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. Ви можете встановити значення Opacity від 0 до 1 для ImageBrush. Потім збережіть документ. Наступний фрагмент коду демонструє повну функціональність для додавання мозаїчного зображення до документа 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");

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.