Erstellen, Öffnen und Speichern von Bildern
Erstellen von Bilddateien
Aspose.PSD für .NET ermöglicht es Entwicklern, eigene Bilder zu erstellen. Verwenden Sie die von der Image-Klasse bereitgestellte statische Create-Methode, um neue Bilder zu erstellen. Alles, was Sie tun müssen, ist, ein geeignetes Objekt einer der Klassen aus dem ImageOptions-Namespace für das gewünschte Ausgabeformat des Bildes zu übergeben. Um eine Bilddatei zu erstellen, erstellen Sie zunächst eine Instanz einer der Klassen aus dem ImageOptions-Namespace. Diese Klassen bestimmen das Ausgabeformat des Bildes. Im Folgenden sind einige Klassen aus dem ImageOptions-Namespace aufgeführt (beachten Sie, dass derzeit nur die PSD-Dateiformate-Familie für die Erstellung unterstützt wird):
PsdOptions legt die Optionen für das Erstellen einer PSD-Datei fest. Bilddateien können erstellt werden, indem ein Ausgabepfad festgelegt wird oder indem ein Stream festgelegt wird.
Erstellen durch Festlegen des Pfades
Erstellen Sie PsdOptions aus dem ImageOptions -Namespace und legen Sie die verschiedenen Eigenschaften fest. Die wichtigste Eigenschaft, die festgelegt werden muss, ist die Source-Eigenschaft. Diese Eigenschaft gibt an, wo die Bilddaten gespeichert sind (in einer Datei oder einem Stream). Im folgenden Beispiel stammt die Quelle aus einer Datei. Nach dem Festlegen der Eigenschaften übergeben Sie das Objekt zusammen mit Breite und Höhe-Parametern an eine der statischen Create -Methoden. Die Breite und Höhe sind in Pixeln definiert.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
// Creates an instance of PsdOptions and set its various properties | |
PsdOptions psdOptions = new PsdOptions(); | |
psdOptions.CompressionMethod = CompressionMethod.RLE; | |
// Define the source property for the instance of PsdOptions. Second boolean parameter determines if the file is temporal or not | |
psdOptions.Source = new FileCreateSource(desName, false); | |
// Creates an instance of Image and call Create method by passing the PsdOptions object | |
using (Image image = Image.Create(psdOptions, 500, 500)) | |
{ | |
image.Save(); | |
} |
Erstellen unter Verwendung eines Streams
Der Prozess zum Erstellen eines Bildes mithilfe eines Streams ist derselbe wie beim Verwenden eines Pfads. Der einzige Unterschied besteht darin, dass Sie eine Instanz von StreamSource erstellen, indem Sie einem Streamobjekt an seinen Konstruktor übergeben und es der Source-Eigenschaft zuweisen.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string desName = dataDir + "CreatingImageUsingStream_out.bmp"; | |
// Creates an instance of BmpOptions and set its various properties | |
BmpOptions ImageOptions = new BmpOptions(); | |
ImageOptions.BitsPerPixel = 24; | |
// Create an instance of System.IO.Stream | |
Stream stream = new FileStream(dataDir + "sample_out.bmp", FileMode.Create); | |
// Define the source property for the instance of BmpOptions Second boolean parameter determines if the Stream is disposed once get out of scope | |
ImageOptions.Source = new StreamSource(stream, true); | |
// Creates an instance of Image and call Create method by passing the BmpOptions object | |
using (Image image = Image.Create(ImageOptions, 500, 500)) | |
{ | |
// Do some image processing | |
image.Save(desName); | |
} |
Öffnen von Bilddateien
Entwickler können die Aspose.PSD für .NET-API verwenden, um vorhandene PSD-Bilddateien für verschiedene Zwecke zu öffnen, z.B. um Effekte zum Bild hinzuzufügen oder eine vorhandene Datei in ein anderes Format zu konvertieren. Was auch immer der Zweck ist, Aspose.PSD bietet zwei Standardwege, um vorhandene Dateien zu öffnen: von einer Datei oder von einem Stream.
Öffnen von der Festplatte
Öffnen einer Bilddatei, indem Sie den Pfad und den Dateinamen als Parameter an die statische Methode Load übergeben, die von der Image-Klasse freigegeben wird.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
PsdImage psdImage = (PsdImage)image; | |
psdImage.Save(destName, new PngOptions()); | |
} |
Öffnen unter Verwendung eines Streams
Manchmal ist das Bild, das wir öffnen müssen, in einem Stream gespeichert. In solchen Fällen verwenden Sie die überladene Version der Load-Methode. Diese akzeptiert ein Streamobjekt als Argument, um das Bild zu öffnen.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + "result.png"; | |
FileStream fStream = new FileStream(sourceFile, FileMode.Open); | |
fStream.Position = 0; | |
// load PSD image and replace the non found fonts. | |
using (Image image = Image.Load(fStream)) | |
{ | |
PsdImage psdImage = (PsdImage)image; | |
MemoryStream stream = new MemoryStream(); | |
psdImage.Save(stream, new PngOptions()); | |
} |
Bild als Ebene laden
Dieser Artikel demonstriert die Verwendung von Aspose.PSD, um ein Bild als Ebene zu laden. Aspose.PSD-APIs haben effiziente und benutzerfreundliche Methoden bereitgestellt, um dieses Ziel zu erreichen. Aspose.PSD hat die AddLayer-Methode der PsdImage-Klasse freigegeben, um ein Bild in eine PSD-Datei als Ebene hinzuzufügen.
Die Schritte zum Laden eines Bildes in PSD als Ebene sind so einfach wie folgt:
- Erstellen Sie eine Instanz eines Bildes mit der PsdImage-Klasse mit einer angegebenen Breite und Höhe.
- Laden Sie eine PSD-Datei als Bild mit der von der Image-Klasse freigegebenen Factory-Methode Load.
- Erstellen Sie eine Instanz der Layer-Klasse und weisen Sie das PSD-Bild der Ebene zu.
- Fügen Sie die erstellte Ebene mit der von der PsdImage-Klasse freigegebenen AddLayer-Methode hinzu.
- Speichern Sie die Ergebnisse.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string filePath = dataDir + "PsdExample.psd"; | |
string outputFilePath = dataDir + "PsdResult.psd"; | |
using (var image = new PsdImage(200, 200)) | |
{ | |
using (var im = Image.Load(filePath)) | |
{ | |
Layer layer = null; | |
try | |
{ | |
layer = new Layer((RasterImage)im); | |
image.AddLayer(layer); | |
} | |
catch (Exception e) | |
{ | |
if (layer != null) | |
{ | |
layer.Dispose(); | |
} | |
throw; | |
} | |
} | |
image.Save(outputFilePath); | |
} |
Bild als Ebene aus einem Stream laden
Dieser Artikel demonstriert die Verwendung von Aspose.PSD, um ein Bild als Ebene aus einem Stream zu laden. Um ein Bild aus einem Stream zu laden, übergeben Sie einfach ein Streamobjekt, das ein Bild enthält, an den Konstruktor der Layer-Klasse. Fügen Sie die erstellte Ebene mit der von der PsdImage-Klasse freigegebenen AddLayer-Methode hinzu und speichern Sie die Ergebnisse.
Hier ist der Beispielcode.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string outputFilePath = dataDir + "PsdResult.psd"; | |
var filesList = new string[] | |
{ | |
"PsdExample.psd", | |
"BmpExample.bmp", | |
"GifExample.gif", | |
"Jpeg2000Example.jpf", | |
"JpegExample.jpg", | |
"PngExample.png", | |
"TiffExample.tif", | |
}; | |
using (var image = new PsdImage(200, 200)) | |
{ | |
foreach (var fileName in filesList) | |
{ | |
string filePath = dataDir + fileName; | |
using (var stream = new FileStream(filePath, FileMode.Open)) | |
{ | |
Layer layer = null; | |
try | |
{ | |
layer = new Layer(stream); | |
image.AddLayer(layer); | |
} | |
catch (Exception e) | |
{ | |
if (layer != null) | |
{ | |
layer.Dispose(); | |
} | |
throw e; | |
} | |
} | |
} | |
image.Save(outputFilePath); | |
} |
Speichern von Bilddateien
Mit Aspose.PSD können Sie Bilddateien von Grund auf erstellen. Es bietet auch Mittel zur Bearbeitung vorhandener Bilddateien. Sobald das Bild erstellt oder geändert wurde, wird die Datei normalerweise auf der Festplatte gespeichert. Aspose.PSD bietet Ihnen Methoden zum Speichern von Bildern auf der Festplatte, indem Sie einen Pfad angeben oder ein Stream-Objekt verwenden.
Speichern auf der Festplatte
Die Image-Klasse stellt ein Bildobjekt dar, daher bietet diese Klasse alle Werkzeuge, die benötigt werden, um ein Bild zu erstellen, zu laden und zu speichern. Verwenden Sie die Save-Methode der Image-Klasse, um Bilder zu speichern. Eine überladene Version der Save-Methode akzeptiert den Dateispeicherort als Zeichenfolge.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
PsdImage psdImage = (PsdImage)image; | |
psdImage.Save(destName, new PngOptions()); | |
} |
Speichern in einen Stream
Eine weitere überladene Version der Save-Methode akzeptiert das Stream-Objekt als Argument und speichert die Bilddatei im Stream.
Wenn das Bild durch Angabe einer der CreateOptions im Image-Konstruktor erstellt wird, wird das Bild automatisch auf dem beim Initialisieren der Image-Klasse bereitgestellten Pfad oder Stream gespeichert, indem die Save-Methode aufgerufen wird, die keinen Parameter akzeptiert.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFile = dataDir + @"sample.psd"; | |
string destName = dataDir + "result.png"; | |
// load PSD image and replace the non found fonts. | |
using (Image image = Image.Load(sourceFile)) | |
{ | |
PsdImage psdImage = (PsdImage)image; | |
MemoryStream stream = new MemoryStream(); | |
psdImage.Save(stream, new PngOptions()); | |
} |
Einstellungen zum Ersetzen fehlender Schriftarten
Entwickler können die Aspose.PSD für .NET-API verwenden, um vorhandene PSD-Bilddateien für verschiedene Zwecke zu laden, z.B. um den Standard-Schriftartnamen festzulegen, wenn PSD-Dokumente als Rasterbild (in PNG-, JPG- und BMP-Formaten) gespeichert werden. Diese Standard-Schriftart sollte als Ersatz für alle fehlenden Schriftarten (Schriftarten, die im aktuellen Betriebssystem nicht gefunden werden) verwendet werden. Sobald das Bild geändert wurde, wird die Datei auf der Festplatte gespeichert.
// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET | |
string sourceFileName = "sample_konstanting.psd"; | |
string[] outputs = new string[] | |
{ | |
"replacedfont0.tiff", | |
"replacedfont1.png", | |
"replacedfont2.jpg" | |
}; | |
using (PsdImage image = (PsdImage)Image.Load(sourceFileName, new PsdLoadOptions())) | |
{ | |
// This way you can use different fonts for different outputs | |
image.Save(outputs[0], new TiffOptions(TiffExpectedFormat.TiffJpegRgb) { DefaultReplacementFont = "Arial" }); | |
image.Save(outputs[1], new PngOptions { DefaultReplacementFont = "Verdana" }); | |
image.Save(outputs[2], new JpegOptions { DefaultReplacementFont = "Times New Roman" }); | |
} |