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); | |
} | |
} |