Notatki wersji Aspose.PSD dla Javy 23.8
Contents
[
Hide
]
Ta strona zawiera notatki wersji dla Aspose.PSD dla Javy 23.8
Klucz | Podsumowanie | Kategoria |
---|---|---|
PSDJAVA-518 | Dodano nowy typ deformacji (Flaga) | Funkcja |
PSDJAVA-519 | Dodano nowe typy deformacji: łuk do góry, łuk w dół, sfera | Funkcja |
PSDJAVA-520 | Implementacja nowej metody PsdImage.AddPosterizeAdjustmentLayer do dodawania nowej warstwy Posterize | Funkcja |
PSDJAVA-521 | Utrata informacji w pliku PSD po prostym otwarciu i zapisie | Błąd |
PSDJAVA-522 | Błąd podczas ładowania obrazu | Błąd |
PSDJAVA-523 | Błąd podczas ładowania obrazu: Nie można rzutować obiektu typu UnknownStructure na typ DescriptorStructure | Błąd |
PSDJAVA-524 | Zmieniony plik w bibliotece zewnętrznej psuje plik PSD, ale można go otworzyć w programie Photoshopu | Błąd |
Zmiany w interfejsie publicznym
Dodane interfejsy API:
- M:com.aspose.psd.fileformats.psd.PsdImage.addPosterizeAdjustmentLayer
Usunięte interfejsy API:
- Brak
Przykłady użycia:
PSDJAVA-518. Dodano nowy typ deformacji (Flaga)
String plikZrodlowy = "src/main/resources/flag_warp.psd";
String plikWyjsciowy = "src/main/resources/flag_export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setAllowWarpRepaint(true);
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowy, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(plikWyjsciowy, pngOptions);
}
PSDJAVA-519. Dodano nowe typy deformacji: łuk do góry, łuk w dół, sfera
String plikZrodlowyLukGora = "src/main/resources/arc_upper_warp.psd";
String plikZrodlowyLukDol = "src/main/resources/arc_lower_warp.psd";
String plikZrodlowyWypuklosc = "src/main/resources/bulge_warp.psd";
String plikWyjsciowyLukGora = "src/main/resources/ArcUpper_export.png";
String plikWyjsciowyLukDol = "src/main/resources/ArcLower_export.png";
String plikWyjsciowyWypuklosc = "src/main/resources/Bulge_export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setAllowWarpRepaint(true);
psdLoadOptions.setLoadEffectsResource(true);
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowyLukGora, psdLoadOptions)) {
psdImage.save(plikWyjsciowyLukGora, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowyLukDol, psdLoadOptions)) {
psdImage.save(plikWyjsciowyLukDol, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowyWypuklosc, psdLoadOptions)) {
psdImage.save(plikWyjsciowyWypuklosc, pngOptions);
}
PSDJAVA-520. Implementacja nowej metody PsdImage.AddPosterizeAdjustmentLayer do dodawania nowej warstwy Posterize
public static void main(String[] args) {
String plikZrodlowy = "src/main/resources/zendeya.psd";
String plikWyjsciowy = "src/main/resources/zendeya.psd.out.psd";
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowy)) {
psdImage.addPosterizeAdjustmentLayer();
psdImage.save(plikWyjsciowy);
}
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
// Sprawdzenie zapisanych zmian
try (PsdImage image = (PsdImage) Image.load(plikWyjsciowy, psdLoadOptions)) {
assertAreEqual(2, image.getLayers().length);
PosterizeLayer posterizeLayer = (PosterizeLayer) image.getLayers()[1];
assertAreEqual(true, posterizeLayer instanceof PosterizeLayer);
}
}
static void assertAreEqual(Object expected, Object actual) {
assertAreEqual(expected, actual, "Obiekty nie są równe.");
}
static void assertAreEqual(Object expected, Object actual, String message) {
if (!expected.equals(actual)) {
throw new IllegalArgumentException(message);
}
}
PSDJAVA-521. Utrata informacji w pliku PSD po prostym otwarciu i zapisie
String plikZrodlowy = "src/main/resources/Oryginalny plik.psd";
String outputPsd = "src/main/resources/out_Oryginalny plik.psd";
String outputPng = "src/main/resources/out_Oryginalny plik.png";
try (PsdImage psdImage = (PsdImage) Image.load(plikZrodlowy)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(outputPsd);
psdImage.save(outputPng, pngOptions);
}
PSDJAVA-522. Błąd podczas ładowania obrazu
String plikTestowy1 = "src/main/resources/test_text.psd";
String plikTestowy2 = "src/main/resources/test_smart_object.psd";
try (PsdImage psdImage = (PsdImage) Image.load(plikTestowy1)) {
}
try (PsdImage psdImage = (PsdImage) Image.load(plikTestowy2)) {
}
PSDJAVA-523. Błąd podczas ładowania obrazu: Nie można rzutować obiektu typu UnknownStructure na typ DescriptorStructure
try (PsdImage nowaPsd = new PsdImage(10, 10)) {
nowaPsd.addLayer(FillLayer.createInstance(FillType.Gradient));
final MemoryStream memStream = new MemoryStream(DescriptorStructure.StructureKey + 1000);
try {
nowaPsd.save(memStream.toOutputStream());
memStream.seek(DescriptorStructure.StructureKey, SeekOrigin.Current);
memStream.write(new byte[1], 0, 0);
memStream.setPosition(0);
try (PsdImage psdImage = (PsdImage) Image.load(memStream.toInputStream())) {
// Powinno być wczytane poprawnie
}
} finally {
memStream.close();
}
}
PSDJAVA-524. Zmieniony plik w bibliotece zewnętrznej psuje plik PSD, ale można go otworzyć w programie Photoshop
String plikZrodlowy = "src/main/resources/output.psd";
String plikWyjsciowy = "src/main/resources/export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage img = (PsdImage) Image.load(plikZrodlowy, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setCompressionLevel(9);
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
img.save(plikWyjsciowy, pngOptions);
}