Aspose.PSD voor Java 23.8 - Notities bij uitgave
Contents
[
Hide
]
Deze pagina bevat notities bij de uitgave van Aspose.PSD voor Java 23.8
Sleutel | Samenvatting | Categorie |
---|---|---|
PSDJAVA-518 | Toevoegen van nieuw type warp (Vlag) | Functie |
PSDJAVA-519 | Toevoegen van nieuwe types warp: boog omhoog, boog omlaag, bol | Functie |
PSDJAVA-520 | Implementeren van nieuwe methode PsdImage.AddPosterizeAdjustmentLayer voor het toevoegen van een nieuwe Posterize-laag | Functie |
PSDJAVA-521 | PSD-informatie gaat verloren bij alleen openen en opslaan | Fout |
PSDJAVA-522 | Laden van afbeelding mislukt | Fout |
PSDJAVA-523 | Laden van afbeelding mislukt: Kan object van het type UnknownStructure niet converteren naar het type DescriptorStructure | Fout |
PSDJAVA-524 | Bestand gewijzigd in de externe bibliotheek beschadigt PSD-bestand, maar kan geopend worden in Photoshop | Fout |
Wijzigingen in openbare API
Toegevoegde API’s:
- M:com.aspose.psd.fileformats.psd.PsdImage.addPosterizeAdjustmentLayer
Verwijderde API’s:
- Geen
Gebruik voorbeelden:
PSDJAVA-518. Toevoegen van nieuw type warp (Vlag)
String bronbestand = "src/main/resources/flag_warp.psd";
String uitvoerBestand = "src/main/resources/flag_export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setAllowWarpRepaint(true);
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage psdImage = (PsdImage) Image.load(bronbestand, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(uitvoerBestand, pngOptions);
}
PSDJAVA-519. Toevoegen van nieuwe types warp: boog omhoog, boog omlaag, bol
String bronbestandBoogBoven = "src/main/resources/arc_upper_warp.psd";
String bronbestandBoogOnder = "src/main/resources/arc_lower_warp.psd";
String bronbestandBol = "src/main/resources/bulge_warp.psd";
String uitvoerBestandBoogBoven = "src/main/resources/ArcUpper_export.png";
String uitvoerBestandBoogOnder = "src/main/resources/ArcLower_export.png";
String uitvoerBestandBol = "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(bronbestandBoogBoven, psdLoadOptions)) {
psdImage.save(uitvoerBestandBoogBoven, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(bronbestandBoogOnder, psdLoadOptions)) {
psdImage.save(uitvoerBestandBoogOnder, pngOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(bronbestandBol, psdLoadOptions)) {
psdImage.save(uitvoerBestandBol, pngOptions);
}
PSDJAVA-520. Implementeren van nieuwe methode PsdImage.AddPosterizeAdjustmentLayer voor het toevoegen van een nieuwe Posterize-laag
public static void main(String[] args) {
String srcFile = "src/main/resources/zendeya.psd";
String outFile = "src/main/resources/zendeya.psd.out.psd";
try (PsdImage psdImage = (PsdImage) Image.load(srcFile)) {
psdImage.addPosterizeAdjustmentLayer();
psdImage.save(outFile);
}
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
// Controleer opgeslagen wijzigingen
try (PsdImage image = (PsdImage) Image.load(outFile, psdLoadOptions)) {
assertAreEqual(2, image.getLayers().length);
PosterizeLayer posterizeLayer = (PosterizeLayer) image.getLayers()[1];
assertAreEqual(true, posterizeLayer instanceof PosterizeLayer);
}
}
static void assertAreEqual(Object verwacht, Object daadwerkelijk) {
assertAreEqual(verwacht, daadwerkelijk, "Objecten zijn niet gelijk.");
}
static void assertAreEqual(Object verwacht, Object daadwerkelijk, String boodschap) {
if (!verwacht.equals(daadwerkelijk)) {
throw new IllegalArgumentException(boodschap);
}
}
PSDJAVA-521. PSD-informatie gaat verloren bij alleen openen en opslaan
String bron = "src/main/resources/Oorspronkelijk bestand.psd";
String uitvoerPsd = "src/main/resources/out_Oorspronkelijk bestand.psd";
String uitvoerPng = "src/main/resources/out_Oorspronkelijk bestand.png";
try (PsdImage psdImage = (PsdImage) Image.load(bron)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
psdImage.save(uitvoerPsd);
psdImage.save(uitvoerPng, pngOptions);
}
PSDJAVA-522. Laden van afbeelding mislukt
String bronBestand1 = "src/main/resources/test_text.psd";
String bronBestand2 = "src/main/resources/test_smart_object.psd";
try (PsdImage psdImage = (PsdImage) Image.load(bronBestand1)) {
}
try (PsdImage psdImage = (PsdImage) Image.load(bronBestand2)) {
}
PSDJAVA-523. Laden van afbeelding mislukt: Kan object van het type UnknownStructure niet converteren naar het type DescriptorStructure
try (PsdImage newPsd = new PsdImage(10, 10)) {
newPsd.addLayer(FillLayer.createInstance(FillType.Gradient));
final MemoryStream memStream = new MemoryStream(DescriptorStructure.StructureKey + 1000);
try {
newPsd.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())) {
// Zou correct moeten laden
}
} finally {
memStream.close();
}
}
PSDJAVA-524. Bestand gewijzigd in de externe bibliotheek beschadigt PSD-bestand, maar kan geopend worden in Photoshop
String bronBestand = "src/main/resources/output.psd";
String uitvoerBestand = "src/main/resources/export.png";
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
try (PsdImage img = (PsdImage) Image.load(bronBestand, psdLoadOptions)) {
PngOptions pngOptions = new PngOptions();
pngOptions.setCompressionLevel(9);
pngOptions.setColorType(PngColorType.TruecolorWithAlpha);
img.save(uitvoerBestand, pngOptions);
}