Utilizando Efectos de Capa en archivos PSD

Descripción general

En Aspose.PSD para Java, puedes aplicar varios efectos a las capas para mejorar la apariencia visual de tus imágenes. Estos efectos se facilitan a través de la clase BlendingOptions, que ofrece métodos para incorporar diferentes efectos como trazo, sombra interna, sombra externa, superposición de degradado, superposición de color, superposición de patrón y resplandor externo.

Para ilustrar el proceso de aplicación de efectos a las capas, veamos los pasos involucrados:

  • Trazo: Este efecto implica agregar un trazo de degradado a una capa, especificando parámetros como tamaño de trazo, puntos de color de degradado y puntos de transparencia.

  • Sombra Interna: Involucra agregar una sombra interna a una capa, definiendo atributos como ángulo de sombra y color.

  • Sombra Externa: Este efecto implica agregar una sombra externa a una capa, especificando parámetros como ángulo de sombra y color.

  • Superposición de Degradado: Agrega una superposición de degradado a una capa, definiendo los puntos de color de degradado y los puntos de transparencia.

  • Superposición de Color: Incorpora una superposición de color a una capa, especificando el color y la opacidad de la superposición.

  • Superposición de Patrón: Implica agregar una superposición de patrón a una capa, definiendo atributos como datos de patrón, ancho y alto.

  • Resplandor Externo: Agrega un resplandor externo a una capa, especificando parámetros como tamaño del resplandor y color de relleno.

  • Después de aplicar los efectos deseados a las capas, puedes guardar la imagen modificada en varios formatos.

  • Esta descripción outline el proceso fundamental de aplicación de efectos a las capas usando Aspose.PSD para Java. Puedes personalizar aún más estos efectos ajustando sus respectivos parámetros y propiedades. La biblioteca ofrece una variedad de opciones y configuraciones para crear efectos intrincados y visualmente atractivos.

  • Explora la documentación de la biblioteca para obtener detalles completos y ejemplos sobre la aplicación de efectos a las capas en Aspose.PSD para Java.

Por favor, verifica el ejemplo completo.

Ejemplo

public void layerEffectsFullTest() {
String source = "/ShowCases/nines.psd";
String resultOrig = "nines_orig.png";
String resultPsd = "nines_mod.psd";
String resultMod = "nines_mod.png";
// Set the PNG options
PngOptions pngOpt = new PngOptions();
pngOpt.setColorType(PngColorType.TruecolorWithAlpha);
// Set the PSD load options
PsdLoadOptions psdLoadOptions = new PsdLoadOptions();
psdLoadOptions.setLoadEffectsResource(true);
// Load the PSD image
try (PsdImage image = (PsdImage) Image.load(source, psdLoadOptions)) {
// Save the original image as PNG
image.save(resultOrig, pngOpt);
// Test data for gradient
GradientColorPoint[] gradientColorPoints = new GradientColorPoint[]{
new GradientColorPoint(Color.getRed(), 0, 50),
new GradientColorPoint(Color.getGreen(), 1024, 50),
new GradientColorPoint(Color.getBlue(), 2048, 50)
};
GradientTransparencyPoint tp1 = new GradientTransparencyPoint();
tp1.setLocation(0);
tp1.setMedianPointLocation(50);
tp1.setOpacity(128);
GradientTransparencyPoint tp2 = new GradientTransparencyPoint();
tp2.setLocation(2048);
tp2.setMedianPointLocation(50);
tp2.setOpacity(176);
GradientTransparencyPoint[] gradientTransparencyPoints = new GradientTransparencyPoint[]{tp1, tp2};
// Add stroke to layer 1
StrokeEffect stroke = image.getLayers()[1].getBlendingOptions().addStroke(FillType.Gradient);
stroke.setSize(3);
GradientFillSettings gradientFillSettings = (GradientFillSettings) stroke.getFillSettings();
gradientFillSettings.setColorPoints(gradientColorPoints);
gradientFillSettings.setTransparencyPoints(gradientTransparencyPoints);
// Add inner shadow to layer 2
InnerShadowEffect innerShadow = image.getLayers()[2].getBlendingOptions().addInnerShadow();
innerShadow.setAngle(60);
innerShadow.setColor(Color.getYellow());
// Add drop shadow to layer 3
DropShadowEffect dropShadow = image.getLayers()[3].getBlendingOptions().addDropShadow();
dropShadow.setAngle(30);
dropShadow.setColor(Color.getViolet());
// Add gradient overlay to layer 4
GradientOverlayEffect gradientOverlay = image.getLayers()[4].getBlendingOptions().addGradientOverlay();
gradientOverlay.getSettings().setColorPoints(gradientColorPoints);
gradientOverlay.getSettings().setTransparencyPoints(gradientTransparencyPoints);
// Add color overlay to layer 5
ColorOverlayEffect colorOverlay = image.getLayers()[5].getBlendingOptions().addColorOverlay();
colorOverlay.setColor(Color.getAzure());
colorOverlay.setOpacity((byte) 120);
// Add pattern overlay to layer 6
PatternOverlayEffect patternOverlay = image.getLayers()[6].getBlendingOptions().addPatternOverlay();
int[] patternData = new int[]{
Color.getRed().toArgb(), Color.getTransparent().toArgb(),
Color.getTransparent().toArgb(), Color.getRed().toArgb()
};
patternOverlay.getSettings().setPatternData(patternData);
patternOverlay.getSettings().setPatternWidth(2);
patternOverlay.getSettings().setPatternHeight(2);
// Add outer glow to layer 7
OuterGlowEffect outerGlow = image.getLayers()[7].getBlendingOptions().addOuterGlow();
outerGlow.setSize(10);
ColorFillSettings colorFillSettings = new ColorFillSettings();
colorFillSettings.setColor(Color.getCrimson());
outerGlow.setFillColor(colorFillSettings);
// Save the modified image as PNG and PSD
image.save(resultMod, pngOpt);
image.save(resultPsd);
}
}