X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=source%2Fmir%2Fmisc%2FWebdbImage.java;h=4e61947b12a57abf39ad95119299e825fc3071e2;hb=d388c9c6286a9d9dda70e05535d5321fc20ef1c8;hp=2c6bc91e405291a2bec7869f73f7a14d328ebb5e;hpb=9202ba63fca0b97fb456a7707025ca7c1d3f9134;p=mir.git diff --git a/source/mir/misc/WebdbImage.java b/source/mir/misc/WebdbImage.java index 2c6bc91e..4e61947b 100755 --- a/source/mir/misc/WebdbImage.java +++ b/source/mir/misc/WebdbImage.java @@ -1,3 +1,34 @@ +/* + * Copyright (C) 2001, 2002 The Mir-coders group + * + * This file is part of Mir. + * + * Mir is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Mir is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Mir; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * In addition, as a special exception, The Mir-coders gives permission to link + * the code of this program with the com.oreilly.servlet library, any library + * licensed under the Apache Software License, The Sun (tm) Java Advanced + * Imaging library (JAI), The Sun JIMI library (or with modified versions of + * the above that use the same license as the above), and distribute linked + * combinations including the two. You must obey the GNU General Public + * License in all respects for all of the code used other than the above + * mentioned libraries. If you modify this file, you may extend this exception + * to your version of the file, but you are not obligated to do so. If you do + * not wish to do so, delete this exception statement from your version. + */ + package mir.misc; /** @@ -30,33 +61,38 @@ public class WebdbImage // internal representation of the image private PlanarImage planarImage; + // type of the image + private String _type; + // constructor - public WebdbImage(byte[] image) + public WebdbImage(byte[] image, String type) throws IOException { planarImage = JAI.create("stream",new ByteArraySeekableStream(image)); + _type = type; scaleImage(); } - public WebdbImage(byte[] image, int iconMax) + public WebdbImage(byte[] image, String type, int iconMax) throws IOException { maxIconSize=iconMax; planarImage = JAI.create("stream",new ByteArraySeekableStream(image)); + _type = type; scaleImage(); } - public WebdbImage(byte[] image, int iconMax, int imageMax) + public WebdbImage(byte[] image, String type, int iconMax, int imageMax) throws IOException { maxIconSize=iconMax; maxImageSize=imageMax; planarImage = JAI.create("stream",new ByteArraySeekableStream(image)); + _type = type; scaleImage(); } - // acc3ssor-methods public int getIconWidth() throws IOException { if (iconData==null) scaleIcon(); @@ -79,8 +115,7 @@ public class WebdbImage public byte[] getImage() { if (imageData==null) { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - // @todo the choice of PNG or JPEG should be made configurable - JAI.create("encode", planarImage, outStream, "PNG", null); + JAI.create("encode", planarImage, outStream, _type, null); imageData = outStream.toByteArray(); } return imageData; @@ -136,8 +171,7 @@ public class WebdbImage 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); + JAI.create("encode", temp, outStream, _type, null); iconData = outStream.toByteArray(); iconWidth=temp.getWidth(); iconHeight=temp.getHeight();