- Properties and Parameters -

Here is the list and the meaning of all JImageFilter properties. They can be setup in scaling.properties text file. Image scaling quality and speed depend on scaling algorithm available through impl and multistep parameters. See the following tutorial to learn how to setup them depending on your purpose (quality first, speed first ...).

JImageFilter scaling properties
Properties Description and sample
maxwidth
maxheight
It allows to select maximum width and height of the generated thumbnail. For instance, maxwidth=640 maxheight=480
landscape.maxwidth
landscape.maxheight
Same as maxwidth and maxheight but for landscape images only.
portrait.maxwidth
portrait.maxheight
Same as maxwidth and maxheight but for portrait images only.
scaleoption If scaleoption=allowmagnify and image dimensions < maxwidth, maxheight then image will be magnified. If scaleoption=fitaspectratio then scaled image dimension will fit exactly to maxwidthxmaxheight so aspect ratio might be modified.
scalefactor It allows to reduce or magnify image regardless to maxwidth and maxheight.
quality This property allows to select compression quality from 0.0 to 1.0.
(0 = poor, 1.0 = best).
metadata This property allows to forward metadata from original image to the scaled image. Use metadata=unknownmarker to forward EXIF and IPTC makers. Pay attention with metadata=all because it forwards all metadata and it could lead to issue (colors, rotation, size) between scaled format and original metadata.
metadata.error This property allows to either abort or ignore metadata error while uploading.
watermark This property allows to setup a watermark image that will be applied to scaled images. For instance, watermark=watermark.png
The waterwark transparent PNG must be in the same folder as scaling.properties.
watermarklocation Watermark location in the scaled image could be: center, topleft, topright, topcenter, bottomleft, bottomright, bottomcenter.
watermarkfactor Transparency factor from 0.0 to 1.0 (1.0 means no transparency).
tmpfolder This property allows to select local folder where images will be scaled before upload. Default is user's home. "auto" value could be used to select the folder from original image (useful when working with relativefilename parameter but requires renamepolicy=append below to avoid overwrite).
renamepolicy

This property defines the filename of the scaled image to upload. For instance, if you upload image1.gif with JPEG output format then :
- renamepolicy=append => uploaded filename = image1.gif.jpeg
- renamepolicy=rename => uploaded filename = image1.jpeg
- renamepolicy=renameifneeded => Same as rename but it tries to
  keep extension and case of incoming filename. For instance, if you
  select image1.JPG with JPEG output format then uploaded filename
  will be image1.JPG (and not image1.jpeg it would be with rename).

extensions This property allows to select allowed image formats for scaling.
For instance : extensions=jpg,jpeg,gif,png,bmp
forcergb This property allows to convert image color space to RGB. It could increase scaling performance.
imageloader This property allows to select implementation for the image loading. Default is ImageIO API. imageloader= toolkit means that AWT API will be used.
impl This property allows to select implementation for image scaling. Value could be :
impl=AWT (Recommended for high resolution images)
impl=ImageIO (This is the default one)
impl=ImageIOSubsample (This one is very fast but only allow integer-based scaled size. It doesn't fit to maxwidth and maxheight).
multistep This property allows to enable multi-step bilinear algorithm with ImageIO scaling implementation. Enable this parameter to get better image quality (especially for large images).
outformat This property allows to select the format of the scaled image. For instance : outformat=jpeg
If it is commented then incoming image format is used. Note that GIF is not available as output format.
maxpixels This property allows to select limit (in pixels) for images to scale. It allows to avoid OutOfMemory errors for some large images. For instance, if maxpixels=9000000 then image > 3000x3000 will be uploaded without being scaled. If it is commented then there is no limit.
operation.error If operation.error=abort then upload stops if on the first image that cannot be loaded or scaled.
enable This property allows to enable JImageFilter parameters (filterparamX, filtervalueX pairs) reloading before loading each image. As such parameters could be setup with JavaScript then it must be enabled if you need JavaScript support.

A few JImageFilter parameters could be setup in applet such as <PARAM NAME="" VALUE="">.

JImageFilter parameters
Parameters Description and sample
filterproperties This parameter allow to define your own filename instead of scaling.properties. For instance:
<PARAM NAME="filterproperties" VALUE="myscalingconfig.txt">
filterparamX and filtervalueX pair Up to 8 parameters could be passed to JImageFilter through filterparamX and filtervalueX (with X in [1,8]). For instance:
<PARAM NAME="filterparam1" VALUE="maxwidth">
<PARAM NAME="filtervalue1" VALUE="1024">


Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
All other company and/or product names are the property of their respective owners.