public BufferedImage filter(BufferedImage src, Struct parameters) throws PageException { BufferedImage dst = ImageUtil.createBufferedImage(src); Object o; if ((o = parameters.removeEL(KeyImpl.init("SourceGrid"))) != null) setSourceGrid(ImageFilterUtil.toWarpGrid(o, "SourceGrid")); if ((o = parameters.removeEL(KeyImpl.init("DestGrid"))) != null) setDestGrid(ImageFilterUtil.toWarpGrid(o, "DestGrid")); if ((o = parameters.removeEL(KeyImpl.init("Frames"))) != null) setFrames(ImageFilterUtil.toIntValue(o, "Frames")); if ((o = parameters.removeEL(KeyImpl.init("MorphImage"))) != null) setMorphImage(ImageFilterUtil.toBufferedImage(o, "MorphImage")); if ((o = parameters.removeEL(KeyImpl.init("Time"))) != null) setTime(ImageFilterUtil.toFloatValue(o, "Time")); // check for arguments not supported if (parameters.size() > 0) { throw new FunctionException( ThreadLocalPageContext.get(), "ImageFilter", 3, "parameters", "the parameter" + (parameters.size() > 1 ? "s" : "") + " [" + CollectionUtil.getKeyList(parameters, ", ") + "] " + (parameters.size() > 1 ? "are" : "is") + " not allowed, only the following parameters are supported [SourceGrid, DestGrid, Frames, MorphImage, Time]"); } return filter(src, dst); }
public BufferedImage filter(BufferedImage src, Struct parameters) throws PageException { BufferedImage dst = ImageUtil.createBufferedImage(src); Object o; if ((o = parameters.removeEL(KeyImpl.init("Amount"))) != null) setAmount(ImageFilterUtil.toFloatValue(o, "Amount")); if ((o = parameters.removeEL(KeyImpl.init("Exposure"))) != null) setExposure(ImageFilterUtil.toFloatValue(o, "Exposure")); if ((o = parameters.removeEL(KeyImpl.init("ColorSource"))) != null) setColorSource(ImageFilterUtil.toColorRGB(o, "ColorSource")); if ((o = parameters.removeEL(KeyImpl.init("Material"))) != null) setMaterial(ImageFilterUtil.toLightFilter$Material(o, "Material")); if ((o = parameters.removeEL(KeyImpl.init("BumpFunction"))) != null) setBumpFunction(ImageFilterUtil.toFunction2D(o, "BumpFunction")); if ((o = parameters.removeEL(KeyImpl.init("BumpHeight"))) != null) setBumpHeight(ImageFilterUtil.toFloatValue(o, "BumpHeight")); if ((o = parameters.removeEL(KeyImpl.init("BumpSoftness"))) != null) setBumpSoftness(ImageFilterUtil.toFloatValue(o, "BumpSoftness")); if ((o = parameters.removeEL(KeyImpl.init("BumpShape"))) != null) setBumpShape(ImageFilterUtil.toIntValue(o, "BumpShape")); if ((o = parameters.removeEL(KeyImpl.init("ViewDistance"))) != null) setViewDistance(ImageFilterUtil.toFloatValue(o, "ViewDistance")); if ((o = parameters.removeEL(KeyImpl.init("EnvironmentMap"))) != null) setEnvironmentMap(ImageFilterUtil.toBufferedImage(o, "EnvironmentMap")); if ((o = parameters.removeEL(KeyImpl.init("BumpSource"))) != null) setBumpSource(ImageFilterUtil.toIntValue(o, "BumpSource")); if ((o = parameters.removeEL(KeyImpl.init("DiffuseColor"))) != null) setDiffuseColor(ImageFilterUtil.toColorRGB(o, "DiffuseColor")); // check for arguments not supported if (parameters.size() > 0) { throw new FunctionException( ThreadLocalPageContext.get(), "ImageFilter", 3, "parameters", "the parameter" + (parameters.size() > 1 ? "s" : "") + " [" + CollectionUtil.getKeyList(parameters, ", ") + "] " + (parameters.size() > 1 ? "are" : "is") + " not allowed, only the following parameters are supported [Amount, Exposure, ColorSource, Material, BumpFunction, BumpHeight, BumpSoftness, BumpShape, ViewDistance, EnvironmentMap, BumpSource, DiffuseColor]"); } return filter(src, dst); }