X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=source%2Fmir%2Fmisc%2FWebdbImage.java;h=2c6bc91e405291a2bec7869f73f7a14d328ebb5e;hb=b925a12a3bc049f6e83916af14b109b69a3c0d42;hp=5a2936a5cb4d91751fe366016221e442227b826d;hpb=c6a2204d8d75293256fd17c07e54971d7672359a;p=mir.git diff --git a/source/mir/misc/WebdbImage.java b/source/mir/misc/WebdbImage.java index 5a2936a5..2c6bc91e 100755 --- a/source/mir/misc/WebdbImage.java +++ b/source/mir/misc/WebdbImage.java @@ -10,6 +10,7 @@ package mir.misc; */ import java.io.*; +import java.util.Vector; import javax.media.jai.*; import com.sun.media.jai.codec.*; import java.awt.image.renderable.ParameterBlock; @@ -97,29 +98,43 @@ public class WebdbImage { if (maxImageSize>0 && ( getImageHeight()> maxImageSize|| getImageWidth() >maxImageSize)) { + System.out.println("SCALE_IMAGE"); float scale; + ParameterBlockJAI params = new ParameterBlockJAI("scale"); + params.addSource(planarImage); if (getImageHeight() > getImageWidth()) - scale = (float)maxImageSize / (float)getImageHeight(); - else - scale = (float)maxImageSize / (float)getImageWidth(); - - InterpolationBilinear interp = new InterpolationBilinear(); - planarImage = JAI.create("scale", planarImage, scale, scale, 0.0F, 0.0F, interp); + scale = (float)maxImageSize / (float)getImageHeight(); + else + scale = (float)maxImageSize / (float)getImageWidth(); + + params.setParameter("xScale", scale); + params.setParameter("yScale", scale); + params.setParameter("xTrans",0.0F); + params.setParameter("yTrans",0.0F); + params.setParameter("interpolation",new InterpolationBilinear()); + planarImage = JAI.create("scale", params); } } private void scaleIcon() throws java.io.IOException { + System.out.println("SCALE_ICON"); if (iconData==null) { float scale; + ParameterBlockJAI params = new ParameterBlockJAI("scale"); + params.addSource(planarImage); if (getImageHeight() > getImageWidth()) - scale = (float)maxIconSize / (float)getImageHeight(); - else - scale = (float)maxIconSize / (float)getImageWidth(); - - InterpolationBilinear interp = new InterpolationBilinear(); - PlanarImage temp = JAI.create("scale", planarImage, scale, scale, 0.0F, 0.0F, interp); + scale = (float)maxIconSize / (float)getImageHeight(); + else + scale = (float)maxIconSize / (float)getImageWidth(); + + params.setParameter("xScale", scale); + params.setParameter("yScale", scale); + params.setParameter("xTrans",0.0F); + params.setParameter("yTrans",0.0F); + params.setParameter("interpolation",new InterpolationBilinear()); + PlanarImage temp = JAI.create("scale", params); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); // @todo the choice of PNG or JPEG should be made configurable JAI.create("encode", temp, outStream, "PNG", null);