use of com.day.image.Layer in project acs-aem-commons by Adobe-Consulting-Services.
the class LetterPillarBoxImageTransformerImplTest method testTransform_withColor.
@Test
public void testTransform_withColor() throws Exception {
final int width = 400;
final int height = 225;
final String color = "ABCDEF";
final float alpha = 0.5f;
final int alphaint = Math.round(255 * alpha);
Color expected = new Color(171, 205, 239, alphaint);
map.put("width", width);
map.put("height", height);
map.put("color", color);
map.put("alpha", alpha);
ValueMap properties = new ValueMapDecorator(map);
final Layer mockLayer = mock(Layer.class);
when(layer.getWidth()).thenReturn(START_WIDTH, START_WIDTH, width);
when(layer.getHeight()).thenReturn(START_HEIGHT, START_HEIGHT, height);
doNothing().when(mockLayer).blit(any(Layer.class), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(), anyInt());
final Transformer transformer = new Transformer(mockLayer);
transformer.transform(layer, properties);
assertTrue("Layer constructor was not intercepted.", transformer.layerCreated);
verify(layer, times(3)).getWidth();
verify(layer, times(3)).getHeight();
verify(layer, times(1)).resize(width, height);
verify(mockLayer, times(1)).blit(layer, 0, 0, width, height, 0, 0);
verifyNoMoreInteractions(layer);
verifyNoMoreInteractions(mockLayer);
}
use of com.day.image.Layer in project acs-aem-commons by Adobe-Consulting-Services.
the class LetterPillarBoxImageTransformerImplTest method testTransform_onlyWidth.
@Test
public void testTransform_onlyWidth() throws Exception {
final int width = 400;
final int height = 225;
map.put("width", width);
ValueMap properties = new ValueMapDecorator(map);
final Layer mockLayer = mock(Layer.class);
final Transformer transformer = new Transformer(mockLayer);
when(layer.getWidth()).thenReturn(START_WIDTH, START_WIDTH, width);
when(layer.getHeight()).thenReturn(START_HEIGHT, START_HEIGHT, height);
doNothing().when(mockLayer).blit(any(Layer.class), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(), anyInt());
transformer.transform(layer, properties);
assertNotNull("Layer constructor was not intercepted.", transformer.layerCreated);
verify(layer, times(3)).getWidth();
verify(layer, times(3)).getHeight();
verify(layer, times(1)).resize(width, height);
verify(mockLayer, times(1)).blit(layer, 0, 0, width, height, 0, 0);
verifyNoMoreInteractions(layer);
verifyNoMoreInteractions(mockLayer);
}
use of com.day.image.Layer in project acs-aem-commons by Adobe-Consulting-Services.
the class LetterPillarBoxImageTransformerImplTest method testTransform_withLetterBoxing.
@Test
public void testTransform_withLetterBoxing() throws Exception {
final int width = 600;
final int height = 600;
final int calcHeight = 338;
final int startPos = (width - calcHeight) / 2;
map.put("width", width);
map.put("height", height);
ValueMap properties = new ValueMapDecorator(map);
final Layer mockLayer = mock(Layer.class);
final Transformer transformer = new Transformer(mockLayer);
when(layer.getWidth()).thenReturn(START_WIDTH, START_WIDTH, width);
when(layer.getHeight()).thenReturn(START_HEIGHT, START_HEIGHT, calcHeight);
doNothing().when(mockLayer).blit(any(Layer.class), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(), anyInt());
transformer.transform(layer, properties);
assertTrue("Layer constructor was not intercepted.", transformer.layerCreated);
verify(layer, times(3)).getWidth();
verify(layer, times(3)).getHeight();
verify(layer, times(1)).resize(width, calcHeight);
verify(mockLayer, times(1)).blit(layer, 0, startPos, width, calcHeight, 0, 0);
verifyNoMoreInteractions(layer);
verifyNoMoreInteractions(mockLayer);
}
use of com.day.image.Layer in project acs-aem-commons by Adobe-Consulting-Services.
the class LetterPillarBoxImageTransformerImplTest method testTransform_onlyHeight.
@Test
public void testTransform_onlyHeight() throws Exception {
final int width = 400;
final int height = 225;
map.put("height", height);
ValueMap properties = new ValueMapDecorator(map);
final Layer mockLayer = mock(Layer.class);
final Transformer transformer = new Transformer(mockLayer);
when(layer.getWidth()).thenReturn(START_WIDTH, START_WIDTH, width);
when(layer.getHeight()).thenReturn(START_HEIGHT, START_HEIGHT, height);
doNothing().when(mockLayer).blit(any(Layer.class), anyInt(), anyInt(), anyInt(), anyInt(), anyInt(), anyInt());
transformer.transform(layer, properties);
assertNotNull("Layer constructor was not intercepted.", transformer.layerCreated);
verify(layer, times(3)).getWidth();
verify(layer, times(3)).getHeight();
verify(layer, times(1)).resize(width, height);
verify(mockLayer, times(1)).blit(layer, 0, 0, width, height, 0, 0);
verifyNoMoreInteractions(layer);
verifyNoMoreInteractions(mockLayer);
}
use of com.day.image.Layer in project acs-aem-commons by Adobe-Consulting-Services.
the class NamedTransformImageServlet method getLayer.
/**
* Gets the Image layer.
*
* @param image The Image to get the layer from
* @return the image's Layer
* @throws IOException
*/
private Layer getLayer(final Image image) throws IOException {
Layer layer = null;
try {
layer = image.getLayer(false, false, false);
} catch (RepositoryException ex) {
log.error("Could not create layer");
}
if (layer == null) {
log.error("Could not create layer - layer is null;");
} else {
image.crop(layer);
image.rotate(layer);
}
return layer;
}
Aggregations