Aspose.PSD voor Java 24.4 - Release-opmerkingen
Contents
[
Hide
]
Deze pagina bevat release-opmerkingen voor Aspose.PSD voor Java 24.4
Sleutel | Samenvatting | Categorie |
---|---|---|
PSDJAVA-610 | Het instellen van de licentie voor Aspose.PSD voor Java leidt tot een uitzondering als het meer dan één keer wordt gemaakt | Fout |
PSDJAVA-611 | [AI-indeling] XObjectForm-bronverwerking toevoegen | Functie |
PSDJAVA-612 | Constructor toevoegen voor de ShapeLayer | Functie |
PSDJAVA-613 | Conversie van PSD-bestand van RGB naar CMYK repareren | Fout |
PSDJAVA-614 | Specifiek PSD-bestand kan niet worden geëxporteerd met behulp van Aspose.PSD | Fout |
Openbare API-wijzigingen
Toegevoegde API’s:
- M:com.aspose.psd.fileformats.psd.PsdImage.addShapeLayer
Verwijderde API’s:
- Geen
Gebruik voorbeelden:
PSDJAVA-610. Het instellen van de licentie voor Aspose.PSD voor Java leidt tot een uitzondering als het meer dan één keer wordt gemaakt
License licentie = nieuwe Licentie();
String liccorrectJava = "Aspose.PSD.Java.lic";
licentie.setLicentie(liccorrectJava);
licentie.setLicentie(liccorrectJava);
PSDJAVA-611. [AI-indeling] XObjectForm-bronverwerking toevoegen
String bronBestand = "src/main/resources/voorbeeld.ai";
String uitvoerBestandPad = "src/main/resources/voorbeeld.png";
probeer(AiImage afbeelding = (AiImage) Afbeelding.laden(bronBestand)) {
afbeelding.opslaan(uitvoerBestandPad, nieuwe PngOpties());
}
PSDJAVA-612. Constructor toevoegen voor de ShapeLayer
private static final int IMG_TOT_PSD_RATIO = 256 * 65535;
openbare statische leegte main(String[] args) {
String uitvoerBestand = "src/main/resources/ToevoegenShapeLayer_uitvoer.psd";
probeer(PsdImage nieuwPsd = nieuwe PsdImage(600, 400)) {
ShapeLayer-laag = nieuwPsd.addShapeLayer();
PathShape-nieuweVorm = genereerNieuweVorm(nieuwPsd.getGrootte());
Lijst<IPathShape> nieuweVormen = nieuwe Lijst<>();
nieuweVormen.toevoegen(nieuweVorm);
laag.getPath().setItems(nieuweVormen.toArray(new IPathShape[0]));
laag.update();
nieuwPsd.save(uitvoerBestand);
}
probeer(PsdImage afbeelding = (PsdImage) Afbeelding.laden(uitvoerBestand)) {
assertAreEqual(2, afbeelding.getLagen().length);
ShapeLayer vormLaag = (ShapeLayer) afbeelding.getLagen()[1];
InternalFill internalFill = (InternalFill) vormLaag.getVulling();
IStrokeSettings lijnInstellingen = vormLaag.getLijn();
InternalFill lijnVulling = (InternalFill) lijnInstellingen.getVulling();
assertAreEqual(1, vormLaag.getPath().getItems().length); // 1 Vorm
assertAreEqual(3, vormLaag.getPath().getItems()[0].getItems().length); // 3 knopen in een vorm
assertAreEqual(-16127182, internalFill.getColor().toArgb()); // ff09eb32
assertAreEqual(7.41, lijnInstellingen.getGrootte());
assertAreEqual(false, lijnInstellingen.isEnabled());
assertAreEqual(StrokePosition.Center, lijnInstellingen.getLineAlignment());
assertAreEqual(LineCapType.ButtCap, lijnInstellingen.getLineCap());
assertAreEqual(LineJoinType.MiterJoin, lijnInstellingen.getLineJoin());
assertAreEqual(-16777216, lijnVulling.getColor().toArgb()); // ff000000
}
}
statische PathShape genereerNieuweVorm(Grootte afbeeldingsGrootte) {
PathShape nieuweVorm = nieuwe PathShape();
PointF punt1 = nieuwe PointF(20, 100);
PointF punt2 = nieuwe PointF(200, 100);
PointF punt3 = nieuwe PointF(300, 10);
BezierKnotRecord eersteBezierKnotRecord = nieuwe BezierKnotRecord();
eersteBezierKnotRecord.setGekoppeld(true);
eersteBezierKnotRecord.setPoints(new Point[]{
pointFToResourcePoint(punt1, afbeeldingsGrootte),
pointFToResourcePoint(punt1, afbeeldingsGrootte),
pointFToResourcePoint(punt1, afbeeldingsGrootte)
});
BezierKnotRecord tweedeBezierKnotRecord = nieuwe BezierKnotRecord();
tweedeBezierKnotRecord.setGekoppeld(true);
tweedeBezierKnotRecord.setPoints(new Point[]{
pointFToResourcePoint(punt2, afbeeldingsGrootte),
pointFToResourcePoint(punt2, afbeeldingsGrootte),
pointFToResourcePoint(punt2, afbeeldingsGrootte)
});
BezierKnotRecord derdeBezierKnotRecord = nieuwe BezierKnotRecord();
derdeBezierKnotRecord.setGekoppeld(true);
derdeBezierKnotRecord.setPoints(new Point[]{
pointFToResourcePoint(punt3, afbeeldingsGrootte),
pointFToResourcePoint(punt3, afbeeldingsGrootte),
pointFToResourcePoint(punt3, afbeeldingsGrootte)
});
BezierKnotRecord[] bezierKnotsen = nieuwe BezierKnotRecord[]{
eersteBezierKnotRecord,
tweedeBezierKnotRecord,
derdeBezierKnotRecord
};
nieuweVorm.setItems(bezierKnotsen);
terug nieuweVorm;
}
statische Punt pointFToResourcePoint(PointF punt, Grootte afbeeldingsGrootte) {
terug nieuwe Punt(
Math.round(punt.getY() * (IMG_TOT_PSD_RATIO / afbeeldingsGrootte.getHoogte())),
Math.round(punt.getX() * (IMG_TOT_PSD_RATIO / afbeeldingsGrootte.getBreedte())));
}
statische leegte assertZijnGelijk(Object verwacht, Object werkelijk) {
assertZijnGelijk(verwacht, werkelijk, "Objecten zijn niet gelijk.");
}
statische leegte assertZijnGelijk(Object verwacht, Object werkelijk, String bericht) {
als (!verwacht.equals(werkelijk)) {
gooi nieuwe IllegalArgumentException(bericht);
}
}
PSDJAVA-613. Conversie van Psd-bestand van RGB naar CMYK repareren
public static void main(String[] args) {
// Controleer dat psd-bestand omgezet naar CMYK + RLE 4 kanalen van psd-bestand in RGB + RLE 4 kanalen, echt 4 kanalen heeft
// en HasTransparencyData == false.
String bronBestand = "src/main/resources/kikker_nosymb.psd";
String uitvoerBestand = "src/main/resources/kikker_nosymb_output.psd";
probeer(PsdImage psdAfbeelding = (PsdImage) Afbeelding.laden(bronBestand)) {
psdAfbeelding.setTransparantieData(false);
PsdOpties psdOpties = nieuwe PsdOpties(psdAfbeelding);
psdOpties.setColorMode(ColorModes.Cmyk);
psdOpties.setCompressieMethode(CompressieMethode.RLE);
psdOpties.setAantalKanalen((korte) 4);
psdAfbeelding.save(uitvoerBestand, psdOpties);
}
probeer(PsdImage psdAfbeelding = (PsdAfbeelding) Afbeelding.laden(uitvoerBestand)) {
assertZijnGelijk(false, psdAfbeelding.hasTransparencyData());
assertZijnGelijk(4, psdAfbeelding.getLagen()[0].getAantalKanalen());
}
}
statische leegte assertZijnGelijk(Object verwacht, Object werkelijk) {
assertZijnGelijk(verwacht, werkelijk, "Objecten zijn niet gelijk.");
}
statische leegte assertZijnGelijk(Object verwacht, Object werkelijk, String bericht) {
als (!verwacht.equals(werkelijk)) {
gooi nieuwe IllegalArgumentException(bericht);
}
}
PSDJAVA-614. Specifiek PSD-bestand kan niet worden geëxporteerd met behulp van Aspose.PSD
String bronBestand = "src/main/resources/1966bron.psd";
String uitvoerPng = "src/main/resources/uitvoer.png";
PsdLaadOpties psdLaadOpties = nieuwe PsdLaadOpties();
psdLaadOpties.setLaadEffectenBron(true);
probeer(PsdImage psdAfbeelding = (PsdImage) Afbeelding.laden(bronBestand, psdLaadOpties)) {
psdAfbeelding.save(uitvoerPng, nieuwe PngOpties());
}