Trabajar con imágenes | Solución API C++

Agregar imagen dentro de documentos XPS

Agregar imagen

Aspose.Page para C++ API le permite crear/leer documentos XPS y agregarles imágenes. Esto se puede hacer creando XpsMatrix y XpsImageBrush para agregar la imagen al archivo XPS. Para agregar una imagen al documento XPS, siga los siguientes pasos.

  1. Cree un objeto de clase XpsDocument
  2. Cree el objeto XpsPath con geometría de ruta definida
  3. Configure la transformación de renderizado para la ruta usando set_RenderTransform
  4. Rellene el trazado con el pincel de imagen creado usando set_Fill
  5. Guarde el documento en el disco usando el método Guardar
 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");

Agregar imagen en mosaico

La solución ofrece  XpsPath Class, con la que puede agregar imágenes en un documento XPS. Después de crear una Matrix y un ImageBrush como se indica arriba, especifique el modo  XpsTileMode.Tile . Puede establecer el valor de Opacidad de 0 a 1 para ImageBrush. Luego guarde el documento. El siguiente fragmento de código muestra la funcionalidad completa para agregar una imagen en mosaico en un documento 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.