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;
}
}
Related examples in the same category