Lavorare con le immagini | Soluzione API C++

Aggiungi immagine nei documenti XPS

Aggiungi immagine

L’API Aspose.Page per C++ consente di creare/leggere documenti XPS e di aggiungervi un’immagine. Questo può essere fatto creando XpsMatrix e XpsImageBrush per aggiungere l’immagine al file XPS. Per aggiungere un’immagine a un documento XPS, seguire i passaggi seguenti.

  1. Crea un oggetto di classe XpsDocument
  2. Crea un oggetto XpsPath con la geometria del percorso definita
  3. Imposta la trasformazione di rendering per il percorso utilizzando set_RenderTransform
  4. Riempi il percorso con il pennello immagine creato utilizzando set_Fill
  5. Salva il documento su disco utilizzando Metodo Salva
 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");

Aggiungi immagine affiancata

La soluzione offre la classe XpsPath, con la quale è possibile aggiungere un’immagine a un documento XPS. Dopo aver creato una matrice e un ImageBrush come sopra, specificare la modalità XpsTileMode.Tile. È possibile impostare il valore di Opacità da 0 a 1 per l’ImageBrush. Quindi salvare il documento. Il seguente frammento di codice mostra la funzionalità completa per aggiungere un’immagine affiancata a 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.