支持InfxResource

支持InfxResource

InfxResource包含有关内部元素的混合数据。Aspose.PSD支持PSD文件中的InfxResource。为此,API提供了InfxResource类。

以下代码片段显示了Aspose.PSD如何支持InfxResource。

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-Java
public static void main(String[] args) {
String sourceDir = Utils.GetDataDir_PSD();
String outputDir = Utils.GetDataDir_Output();
String sourceFileName = sourceDir + "SampleForInfxResource.psd";
String destinationFileName = outputDir + "SampleForInfxResource_out.psd";
boolean isRequiredResourceFound = false;
PsdImage im = null;
try {
im = (PsdImage) Image.load(sourceFileName);
for (Layer layer : im.getLayers()) {
for (LayerResource layerResource : layer.getResources()) {
if (layerResource instanceof InfxResource) {
InfxResource resource = (InfxResource) layerResource;
isRequiredResourceFound = true;
assertIsTrue(!resource.getBlendInteriorElements(), "The InfxResource.BlendInteriorElements should be false");
// Test editing and saving
resource.setBlendInteriorElements(true);
im.save(destinationFileName);
break;
}
}
}
} finally {
if (im != null) im.dispose();
}
assertIsTrue(isRequiredResourceFound, "The specified InfxResource not found");
isRequiredResourceFound = false;
PsdImage im2 = null;
try {
im2 = (PsdImage) Image.load(destinationFileName);
for (Layer layer : im2.getLayers()) {
for (LayerResource layerResource : layer.getResources()) {
if (layerResource instanceof InfxResource) {
InfxResource resource = (InfxResource) layerResource;
isRequiredResourceFound = true;
assertIsTrue(resource.getBlendInteriorElements(), "The InfxResource.BlendInteriorElements should change to true");
break;
}
}
}
} finally {
if (im2 != null) im2.dispose();
}
assertIsTrue(isRequiredResourceFound, "The specified InfxResource not found");
}
private static void assertIsTrue(boolean condition, String message) {
if (!condition) {
throw new FormatException(message);
}
}