Arbeiten mit Bildern in PostScript | .NET

Contents
[ Hide Show ]

Bild im PS-Dokument hinzufügen

Die Aspose.Page for .NET-Bibliothek bietet zwei Methoden zum Hinzufügen von Bildern zu PS-Dokumenten:

Es wurde erstellt, weil PostScript keine Transparenz unterstützt, durchscheinende Bilder jedoch als eine Reihe vollständig transparenter und vollständig undurchsichtiger Pixel gerendert werden können. Solche Bilder werden Masken genannt. Wenn wir das durchscheinende Bild im PS-Dokument als Maske sehen möchten, damit die Transparenz des Bildes besser wiedergegeben wird, sollten wir ein solches Bild überprüfen und vorverarbeiten.

Die Prüfung und die Vorverarbeitung benötigen Zeit. Wenn jemand sicher ist, dass das Bild vollständig undurchsichtig ist, ist es daher besser, die erste Methode zu verwenden, da dadurch Ausführungszeit gespart wird.

Die zweite Methode erkennt, ob das Bild vollständig undurchsichtig oder vollständig transparent bzw. durchscheinend ist. Wenn es vollständig undurchsichtig ist, wird es in der ersten Methode als undurchsichtiges Bild hinzugefügt. Wenn es vollständig transparent ist, wird es dem Dokument überhaupt nicht hinzugefügt. Wenn es sich um ein durchscheinendes Bild handelt, wird es als PostScript-Bild-Maske hinzugefügt.

Im folgenden Beispiel zeigen wir, wie man ein vollständig undurchsichtiges Bild hinzufügt. Das Hinzufügen eines transparenten Bildes wird im Artikel „Arbeiten mit Transparenz“ demonstriert.

Um in diesem Beispiel ein Bild zu einem neuen PsDocument mit der Aspose.Page für .NET-Bibliothek hinzuzufügen, führen wir die folgenden Schritte aus:

  1. Erstellen Sie einen Ausgabestream für die resultierende PS-Datei.
  2. Erstellen Sie ein PsSaveOptions-Objekt mit Standardoptionen.
  3. Erstellen Sie ein einseitiges PsDocument mit einem bereits erstellten Ausgabestream und Speicheroptionen.
  4. Erstellen Sie einen neuen Grafikstatus.
  5. Erstellen Sie System.Drawing.Bitmap aus der Bilddatei.
  6. Erstellen Sie die erforderliche Transformation für das Bild.
  7. Fügen Sie das Bild zum PsDocument-Objekt hinzu.
  8. Verlassen Sie den aktuellen Grafikstatus zur oberen Ebene eins.
  9. Schließen Sie die Seite.
  10. Speichern Sie das Dokument.
 1//Create an output stream for PostScript document
 2using (Stream outPsStream = new FileStream(dataDir + "AddImage_outPS.ps", FileMode.Create))
 3{
 4    //Create save options with A4 size
 5    PsSaveOptions options = new PsSaveOptions();
 6
 7    // Create new 1-paged PS Document
 8    PsDocument document = new PsDocument(outPsStream, options, false);
 9
10    
11    document.WriteGraphicsSave();
12    document.Translate(100, 100);
13
14    //Create a Bitmap object from image file
15    using (Bitmap image = new Bitmap(dataDir + "TestImage Format24bppRgb.jpg"))
16    {
17        //Create image transform
18        Matrix transform = new Matrix();
19        transform.Translate(35, 300);
20        transform.Scale(3, 3);
21        transform.Rotate(-45);
22
23        //Add the image to document
24        document.DrawImage(image, transform, Color.Empty);
25    }
26
27    document.WriteGraphicsRestore();
28
29    //Close current page
30    document.ClosePage();
31
32    //Save the document
33    document.Save();
34}

Für Linux, MacOS und andere Nicht-Windows-Betriebssysteme bieten wir die Verwendung unseres Nuget-Pakets Aspose.Page.Drawing an. Es verwendet das Aspose.Drawing-Backend anstelle der System.Drawing-Systembibliothek.

Importieren Sie also den Namensraum Aspose.Page.Drawing anstelle des Namensraums System.Drawing. Im obigen Codeausschnitt wird Aspose.Page.Drawing.Bitmap anstelle von System.Drawing.Bitmap verwendet. Aspose.Page.Drawing.Drawing2D.Matrix wird anstelle von System.Drawing.Drawing2D.Matrix usw. verwendet. Unsere Codebeispiele auf GitHub enthalten alle notwendigen Ersetzungen.

Weitere Informationen finden Sie unter „Arbeiten mit Bildern in PS-Dokumenten“ in Java.

Das Ergebnis der Ausführung dieses Codes wird wie folgt angezeigt:

Bild hinzufügen

Sie können Beispiele und Datendateien herunterladen von GitHub.

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.