blob: ca600c427302748bebace22729bba7c5a3fe6502 [file] [log] [blame]
<test title="LookupOp Testing">
<description>
This test validates the convertion of Java 2D LookupOp
into an SVG filter.
</description>
<description>
It uses a simple inverter lookup.
</description>
<javaCode>
<![CDATA[
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform defaultTransform = g.getTransform();
//
// Load Image
//
Image image = Toolkit.getDefaultToolkit().createImage("/work/doc/svg/src/usecases/html/images/vangogh.jpg");
MediaTracker tracker = new MediaTracker(new Button(""));
tracker.addImage(image, 0);
try{
tracker.waitForAll();
}catch(InterruptedException e){
tracker.removeImage(image);
image = null;
}finally {
if(image != null)
tracker.removeImage(image);
if(tracker.isErrorAny())
image = null;
if(image != null){
if(image.getWidth(null)<0 ||
image.getHeight(null)<0)
image = null;
}
}
if(image == null){
throw new Error("Could not load image");
}
BufferedImage bi = new BufferedImage(image.getWidth(null),
image.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D ig = bi.createGraphics();
ig.drawImage(image, 0, 0, null);
byte lookup[] = new byte[256];
for(int i=0; i<256; i++)
lookup[i] = (byte)(255 - i);
LookupTable table = new ByteLookupTable(0, lookup);
LookupOp inverter = new LookupOp(table, null);
// Simply paint the image without and with the lookup filter
g.setPaint(Color.black);
g.drawString("Normal / Inverted", 10, 20);
g.drawImage(image, 10, 30, null);
g.drawImage(bi, inverter, 10 + bi.getWidth() + 10, 30);
]]>
</javaCode>
</test>