Arbeiten mit Bildern | C++-API-Lösung

Bild in XPS-Dokumenten hinzufügen

Bild hinzufügen

Mit der Aspose.Page für C++-API können Sie XPS-Dokumente erstellen/lesen und Bilder hinzufügen. Dies kann durch Erstellen von XpsMatrix und XpsImageBrush erfolgen, um das Bild zur XPS-Datei hinzuzufügen. Um ein Bild zu einem XPS-Dokument hinzuzufügen, führen Sie die folgenden Schritte aus.

  1. Erstellen Sie ein Objekt der Klasse XpsDocument.
  2. Erstellen Sie ein XpsPath-Objekt mit definierter Pfadgeometrie
  3. Legen Sie die Render-Transformation für den Pfad mit set_RenderTransform fest.
  4. Füllen Sie den Pfad mit dem erstellten Bildpinsel mit set_Fill
  5. Speichern Sie das Dokument mit der Methode Speichern auf der Disc
 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");

Gekacheltes Bild hinzufügen

Die Lösung bietet die Klasse „ XpsPath, mit der Sie Bilder zu XPS-Dokumenten hinzufügen können. Nachdem Sie wie oben eine Matrix und einen ImageBrush erstellt haben, geben Sie den Modus XpsTileMode.Tile an.

Sie können für den ImageBrush einen Deckkraft-Wert von 0 bis 1 festlegen. Anschließend Dokument speichern. Der folgende Codeausschnitt zeigt die vollständige Funktionalität zum Hinzufügen eines gekachelten Bildes zu einem XPS-Dokument:

 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.