Manipulacja formatami Photoshopa

Zastępowanie kolorów w warstwach PSD

Aspose.PSD for Java pozwala zmieniać kolor tła każdej warstwy pliku PSD. Proszę użyć klasy Aspose.PSD.FileFormats.Psd.Layers.BackgroundColor, aby zmienić kolor tła warstwy w warstwie PSD. Poniższy fragment kodu wczytuje plik PSD, uzyskuje dostęp do warstwy, aktualizuje kolor tła i zapisuje plik PSD.

String dataDir = Utils.getDataDir(ColorReplacementInPSD.class) + "PSD/";
// Load a PSD file as an image and caste it into PsdImage
try (PsdImage image = (PsdImage) Image.load(dataDir + "sample.psd")) {
for (int i = 0; i < image.getLayers().length; i++) {
if (image.getLayers()[i].getName() == "Rectangle 1") {
Layer layer = image.getLayers()[i];
int dd = 0;
layer.hasBackgroundColor();
layer.setBackgroundColor(Color.getOrange());
}
}
image.save(dataDir + "asposeImage02.psd");
}

Aktualizowanie warstwy tekstowej w pliku PSD

Aspose.PSD for Java umożliwia manipulowanie tekstem w warstwie tekstowej pliku PSD. Proszę użyć klasy Aspose.PSD.FileFormats.Psd.Layers.TextLayer, aby zaktualizować tekst w warstwie PSD. Poniższy fragment kodu wczytuje plik PSD, uzyskuje dostęp do warstwy tekstowej, aktualizuje tekst i zapisuje plik PSD pod nową nazwą za pomocą metody Aspose.PSD.FileFormats.Psd.Layers.TextLayer.UpdateText.

String dataDir = Utils.getDataDir(UpdateTextLayerInPSDFile.class) + "PSD/";
// Load a PSD file as an image and cast it into PsdImage
try (PsdImage psdImage = (PsdImage) Image.load(dataDir + "layers.psd")) {
for (int i = 0; i < psdImage.getLayers().length; i++) {
if (psdImage.getLayers()[i] instanceof TextLayer) {
TextLayer textLayer = (TextLayer) psdImage.getLayers()[i];
textLayer.updateText("test update", new Point(0, 0), 15.0f, Color.getPurple());
}
}
psdImage.save(dataDir + "UpdateTextLayerInPSDFile_out.psd");
}

Wykrywanie spłaszczonego pliku PSD

Aspose.PSD for Java pozwala sprawdzić, czy dany plik PSD jest spłaszczony czy nie. W klasie Aspose.PSD.FileFormats.Psd.PsdImage wprowadzono właściwość IsFlatten, aby osiągnąć tę funkcjonalność. Poniższy fragment kodu wczytuje plik PSD i uzyskuje dostęp do właściwości IsFlatten.

String dataDir = Utils.getDataDir(DetectFlattenedPSD.class) + "PSD/";
// Load a PSD file as an image and cast it into PsdImage
try (PsdImage psdImage = (PsdImage) Image.load(dataDir + "layers.psd")) {
// Do processing, Get the true value if PSD is flatten and false in case the PSD is not flatten.
System.out.println(psdImage.isFlatten());
}

Łączenie warstw PSD

Ten artykuł pokazuje, jak łączyć warstwy w pliku PSD podczas konwertowania pliku PSD na JPG za pomocą Aspose.PSD. W poniższym przykładzie istniejący plik PSD jest wczytywany przez przekazanie ścieżki pliku do statycznej metody Load klasy Image. Gdy zostanie wczytany, konwertuj/rzutuj obraz na PsdImage. Utwórz instancję klasy JpegOptions i ustaw różne właściwości. Teraz wywołaj metodę Save instancji PsdImage. Poniższy fragment kodu pokazuje, jak łączyć warstwy PSD.

String dataDir = Utils.getDataDir(MergePSDLayers.class) + "PSD/";
// Load a PSD file as an image and cast it into PsdImage
try (PsdImage psdImage = (PsdImage) Image.load(dataDir + "layers.psd")) {
// Create JPEG option class object, Set its properties and save image
JpegOptions jpgOptions = new JpegOptions();
psdImage.save(dataDir + "MergePSDlayers_output.jpg", jpgOptions);
}

Wsparcie dla odcieni szarości z alfą dla PSD

Ten artykuł pokazuje, jak wspierać odcienie szarości z alfą dla pliku PSD przy konwertowaniu pliku PSD na PNG za pomocą Aspose.PSD. W poniższym przykładzie, istniejący plik PSD jest wczytywany poprzez przekazanie ścieżki pliku do statycznej metody Load klasy Image. Gdy zostanie wczytany, konwertuj/rzutuj obraz na PsdImage. Utwórz instancję klasy PngOptions i ustaw jego różne właściwości. Ustaw właściwość ColorType na TruecolorWithAlpha. Teraz wywołaj metodę Save instancji PngOptions. Poniższy fragment kodu pokazuje, jak konwertować na odcienie szarości PNG z alfą.

String dataDir = Utils.getDataDir(GrayScaleSupportForAlpha.class) + "PSD/";
// Load a PSD file as an image and cast it into PsdImage
try (PsdImage psdImage = (PsdImage) Image.load(dataDir + "sample.psd")) {
// Create an instance of PngOptions class
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(dataDir + "GrayScaleSupportForAlpha_out.png", pngOptions);
}