Part of the new Imaging libary: works with the new ImageGenerator
This commit is contained in:
parent
e861a86c30
commit
e03a831981
1 changed files with 14 additions and 18 deletions
|
@ -32,7 +32,6 @@ import java.lang.reflect.Method;
|
||||||
* Extension to provide Helma with Image processing features.
|
* Extension to provide Helma with Image processing features.
|
||||||
*/
|
*/
|
||||||
public class ImageObject {
|
public class ImageObject {
|
||||||
static ImageGenerator imggen;
|
|
||||||
static Scriptable global;
|
static Scriptable global;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -57,39 +56,36 @@ public class ImageObject {
|
||||||
Function ctorObj, boolean inNewExpr) {
|
Function ctorObj, boolean inNewExpr) {
|
||||||
Object img = null;
|
Object img = null;
|
||||||
try {
|
try {
|
||||||
if (imggen == null) {
|
ImageGenerator generator = ImageGenerator.getInstance();
|
||||||
try {
|
|
||||||
imggen = new ImageGenerator();
|
|
||||||
} catch (UnsatisfiedLinkError noawt) {
|
|
||||||
System.err.println("Error creating Image: " + noawt);
|
|
||||||
throw new RuntimeException("Error creating Image: " + noawt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
if (args[0] instanceof NativeJavaArray) {
|
if (args[0] instanceof NativeJavaArray) {
|
||||||
Object obj = ((NativeJavaArray) args[0]).unwrap();
|
Object array = ((NativeJavaArray) args[0]).unwrap();
|
||||||
if (obj instanceof byte[]) {
|
if (array instanceof byte[]) {
|
||||||
img = imggen.createImage((byte[]) obj);
|
img = generator.createImage((byte[]) array);
|
||||||
}
|
}
|
||||||
} else if (args[0] instanceof byte[]) {
|
} else if (args[0] instanceof byte[]) {
|
||||||
img = imggen.createImage((byte[]) args[0]);
|
img = generator.createImage((byte[]) args[0]);
|
||||||
} else if (args[0] instanceof String) {
|
} else if (args[0] instanceof String) {
|
||||||
String imgurl = args[0].toString();
|
String imgurl = args[0].toString();
|
||||||
img = imggen.createPaintableImage(imgurl);
|
img = generator.createImage(imgurl);
|
||||||
}
|
}
|
||||||
} else if (args.length == 2) {
|
} else if (args.length == 2) {
|
||||||
if (args[0] instanceof Number &&
|
if (args[0] instanceof Number &&
|
||||||
args[1] instanceof Number) {
|
args[1] instanceof Number) {
|
||||||
img = imggen.createPaintableImage(((Number) args[0]).intValue(),
|
img = generator.createImage(((Number) args[0]).intValue(),
|
||||||
((Number) args[1]).intValue());
|
((Number) args[1]).intValue());
|
||||||
} else if (args[0] instanceof NativeJavaObject &&
|
} else if (args[0] instanceof NativeJavaObject &&
|
||||||
args[1] instanceof NativeJavaObject) {
|
args[1] instanceof NativeJavaObject) {
|
||||||
// create a new image from an existing one and an image filter
|
// create a new image from an existing one and an image filter
|
||||||
Object wrapper = ((NativeJavaObject) args[0]).unwrap();
|
Object wrapper = ((NativeJavaObject) args[0]).unwrap();
|
||||||
Object filter = ((NativeJavaObject) args[1]).unwrap();
|
if (wrapper instanceof ImageWrapper) {
|
||||||
img = imggen.createPaintableImage((ImageWrapper) wrapper,
|
Object filter = ((NativeJavaObject) args[1]).unwrap();
|
||||||
(ImageFilter) filter);
|
if (filter instanceof ImageFilter)
|
||||||
|
img = generator.createImage((ImageWrapper) wrapper, (ImageFilter) filter);
|
||||||
|
else if (filter instanceof BufferedImageOp)
|
||||||
|
img = generator.createImage((ImageWrapper) wrapper, (BufferedImageOp) filter);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("Error creating Image from args "+args[0]+","+args[1]);
|
throw new RuntimeException("Error creating Image from args "+args[0]+","+args[1]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue