Изменение размера RenderedImage
Я использую RenderedImage для отображения TIFF в DisplayJAI в моем приложении.
Кто-нибудь знает, как изменить размер экземпляра RenderedImage??
3 ответа
public static RenderedImage scale(RenderedImage image, float scaleFactor)
RenderingHints hints = new RenderingHints(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
RenderedOp resizeOp = SubsampleAverageDescriptor.create(image,
Double.valueOf(scaleFactor), Double.valueOf(scaleFactor), hints);
BufferedImage bufferedResizedImage = resizeOp.getAsBufferedImage();
return bufferedResizedImage;
}
Я давно ничего не делал с JAI, но разве недостаточно операций Scale или Affine?
Изменить: Вот несколько ссылок на Руководство программиста для "Масштаб" и "Аффинный".
Здесь приведен пример кода: http://answers.yahoo.com/question/index?qid=20090827075608AA12kEZ
Соответствующий код:
BufferedImage img = ImageIO.read(new File("~/your/file/system/example.jpeg"));
BufferedImage thumb = new BufferedImage(w2, h2, BufferedImage.TYPE_INT_RGB);
thumb.createGraphics().drawImage(
img.getScaledInstance(w2, h2, java.awt.Image.SCALE_SMOOTH), 0, 0, null);
File file = new File(fullpath + filename);
ImageIO.write(thumb, "png", file);