Aspose.PSD for Java 23.11 - 发行说明
Contents
[
Hide
]
本页包含了 Aspose.PSD for Java 23.11 的发行说明
关键 | 摘要 | 类别 |
---|---|---|
PSDJAVA-551 | Support of LMskResource (LMskResource 支持) | 功能 |
PSDJAVA-552 | [AI 格式] 增加渲染具有 Aspose.PSD 的基于 PDF 的 AI 文件的能力 | 功能 |
PSDJAVA-553 | [AI 格式] 增加对“cm” PostScript 运算符的支持 | 功能 |
PSDJAVA-554 | 增加新的扭曲类型:Wave、shell up、shell down | 功能 |
PSDJAVA-555 | 增加垂直扭曲支持 | 功能 |
PSDJAVA-556 | 调用 TextLayer.GetFonts() 时出现 System.ArgumentNullException: ‘Value cannot be null. (Parameter ‘key’)’ | 错误 |
公共 API 更改
已添加的 API:
- M:com.aspose.psd.FontSettings.removeFontCacheFile
- M:com.aspose.psd.fileformats.psd.coreexceptions.LicenseException.#ctor(java.lang.String,java.lang.Throwable)
- T:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.#ctor
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent1
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent2
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent3
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorComponent4
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getColorSpace
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getFlag
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getKey
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getLength
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getOpacity
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getPsdVersion
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.getSignature
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.save(com.aspose.psd.StreamContainer,int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent1(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent2(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent3(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorComponent4(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setColorSpace(int)
- M:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.setOpacity(short)
- F:com.aspose.psd.fileformats.psd.layers.layerresources.LmskResource.TypeToolKey
- T:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace
- F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.CMYK
- F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.GrayScale
- F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.HSB
- F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.Lab
- F:com.aspose.psd.fileformats.psd.resources.enums_.ColorSpace.RGB
已移除的 API:
- M:com.aspose.psd.fileformats.psd.coreexceptions.LicenseException.#ctor(java.lang.String,java.lang.Throwable)
使用示例:
PSDJAVA-551. 支持 LMskResource
public static void main(String[] args) {
String sourceFile = "src/main/resources/sourceFile.psd";
String outputPsd = "src/main/resources/sourceFile_output.psd";
// 加载 16 位图像。
try (PsdImage image = (PsdImage) Image.load(sourceFile)) {
// 找到 LmskResource。
LmskResource lmskResource = new LmskResource();
for (LayerResource res : image.getGlobalLayerResources()) {
if (res instanceof LmskResource) {
lmskResource = (LmskResource) res;
break;
}
}
// 检查 LmskResource 属性。
assertAreEqual(lmskResource.getColorSpace(), ColorSpace.RGB);
assertAreEqual(lmskResource.getColorComponent1(), 65535);
assertAreEqual(lmskResource.getColorComponent2(), 0);
assertAreEqual(lmskResource.getColorComponent3(), 0);
assertAreEqual(lmskResource.getColorComponent4(), 0);
assertAreEqual(lmskResource.getOpacity(), (short) 45);
assertAreEqual(lmskResource.getFlag(), (byte) 128);
// 更改 LmskResource 属性。
lmskResource.setColorSpace(ColorSpace.HSB);
lmskResource.setColorComponent1(7854);
lmskResource.setColorComponent2(10);
lmskResource.setColorComponent3(15484);
lmskResource.setOpacity((short) 85);
// 保存图像。
image.save(outputPsd);
}
}
static void assertAreEqual(Object expected, Object actual) {
assertAreEqual(expected, actual, "对象不相等。");
}
static void assertAreEqual(Object expected, Object actual, String message) {
if (!expected.equals(actual)) {
throw new IllegalArgumentException(message);
}
}
PSDJAVA-552. [AI 格式] 增加渲染 PDF-Based AI 文件的能力
String sourceFile = "src/main/resources/ai_one.ai";
String outputPng = "src/main/resources/ai_one_output.psd";
// 加载 PDF-Based AI 图像。
try (AiImage image = (AiImage) Image.load(sourceFile)) {
// 将 AI 图像保存为 PNG 图像。
image.save(outputPng, new PngOptions());
}
PSDJAVA-553. [AI 格式] 增加对“cm” PostScript 运算符的支持
String sourceFile = "src/main/resources/ai_two.ai";
String outputPng = "src/main/resources/ai_two_output.png";
// 加载 AI 图像。
try (AiImage image = (AiImage) Image.load(sourceFile)) {
// 将 AI 图像保存为 PNG 图像。
image.save(outputPng, new PngOptions());
}
PSDJAVA-554. 增加新的扭曲类型:Wave、shell up、shell down
PsdLoadOptions loadOptions = new PsdLoadOptions();
loadOptions.setAllowWarpRepaint(true);
loadOptions.setLoadEffectsResource(true);
PngOptions saveOptions = new PngOptions();
saveOptions.setColorType(PngColorType.TruecolorWithAlpha);
String sourceFileFish = "src/main/resources/1752_warp_fish.psd";
String sourceFileRise = "src/main/resources/1752_warp_rise.psd";
String sourceFileWave = "src/main/resources/1752_warp_wave.psd";
String outputFileFish = "src/main/resources/1752_output_fish.png";
String outputFileRise = "src/main/resources/1752_output_rise.png";
String outputFileWave = "src/main/resources/1752_output_wave.png";
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileFish, loadOptions)) {
psdImage.save(outputFileFish, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileRise, loadOptions)) {
psdImage.save(outputFileRise, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileWave, loadOptions)) {
psdImage.save(outputFileWave, saveOptions);
}
PSDJAVA-555. 增加垂直扭曲支持
PsdLoadOptions loadOptions = new PsdLoadOptions();
loadOptions.setAllowWarpRepaint(true);
loadOptions.setLoadEffectsResource(true);
PngOptions saveOptions = new PngOptions();
saveOptions.setColorType(PngColorType.TruecolorWithAlpha);
String sourceFileArcLower = "src/main/resources/1797_warp_arc_lower_v.psd";
String sourceFileArcUpper = "src/main/resources/1797_warp_arc_upper_v.psd";
String sourceFileArch = "src/main/resources/1797_warp_arch_v.psd";
String sourceFileBulge = "src/main/resources/1797_warp_bulge_v.psd";
String sourceFileFlag = "src/main/resources/1797_warp_flag_v.psd";
String sourceFileFish = "src/main/resources/1797_warp_fish_v.psd";
String sourceFileRise = "src/main/resources/1797_warp_rise_v.psd";
String sourceFileWave = "src/main/resources/1797_warp_wave_v.psd";
String outputFileArcLower = "src/main/resources/1797_warp_arc_lower_v.png";
String outputFileArcUpper = "src/main/resources/1797_warp_arc_upper_v.png";
String outputFileArch = "src/main/resources/1797_warp_arch_v.png";
String outputFileBulge = "src/main/resources/1797_warp_bulge_v.png";
String outputFileFlag = "src/main/resources/1797_warp_flag_v.png";
String outputFileFish = "src/main/resources/1797_output_fish_v.png";
String outputFileRise = "src/main/resources/1797_output_rise_v.png";
String outputFileWave = "src/main/resources/1797_output_wave_v.png";
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileArcLower, loadOptions)) {
psdImage.save(outputFileArcLower, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileArcUpper, loadOptions)) {
psdImage.save(outputFileArcUpper, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileArch, loadOptions)) {
psdImage.save(outputFileArch, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileBulge, loadOptions)) {
psdImage.save(outputFileBulge, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileFlag, loadOptions)) {
psdImage.save(outputFileFlag, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileFish, loadOptions)) {
psdImage.save(outputFileFish, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileRise, loadOptions)) {
psdImage.save(outputFileRise, saveOptions);
}
try (PsdImage psdImage = (PsdImage) Image.load(sourceFileWave, loadOptions)) {
psdImage.save(outputFileWave, saveOptions);
}
PSDJAVA-556. 调用 TextLayer.GetFonts() 时出现 System.ArgumentNullException: ‘Value cannot be null. (Parameter ‘key’)'
String src = "src/main/resources/SimpleText.psd";
FontSettings.removeFontCacheFile();
try (PsdImage psdImage = (PsdImage) Image.load(src)) {
for (Layer layer : psdImage.getLayers()) {
if (layer instanceof TextLayer) {
TextLayer textLayer = (TextLayer) layer;
textLayer.getFonts();
}
}
}