Изменение размера 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);
Другие вопросы по тегам