Mega Code Archive

 
Categories / Java / 2D Graphics GUI
 

Scale Image

//  Ahy - A pure java CMS. //  Copyright (C) 2010 Sidney Leal (manish.com.br) // //  This program 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 3 of the License, or //  (at your option) any later version. // //  This program 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 this program.  If not, see <http://www.gnu.org/licenses/>. //package br.com.manish.ahy.kernel.util; import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.imageio.ImageIO; public final class ImageUtil {          public static ByteArrayOutputStream scale(ByteArrayInputStream bais, int width, int height) throws IOException {             BufferedImage src = ImageIO.read(bais);             BufferedImage dest = scale(src, width, height);             ByteArrayOutputStream baos = new ByteArrayOutputStream();             ImageIO.write(dest,"JPG", baos);             return baos;     }     public static BufferedImage scale(BufferedImage src, int width, int height) throws IOException {         BufferedImage dest = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);         Graphics2D g = dest.createGraphics();         AffineTransform at = AffineTransform.getScaleInstance(                 (double)width/src.getWidth(),                 (double)height/src.getHeight());         g.drawRenderedImage(src,at);                 return dest;     } }