我想调整bufferedimage。我能够存储它并在jframe上显示没有问题,但我似乎无法调整它。我如何能更改这个任何提示,使其工作并显示图像为200 * 200的文件将是巨大的Bufferedimage调整大小
private void profPic(){
String path = factory.getString("bottle");
BufferedImage img = ImageIO.read(new File(path));
}
public static BufferedImage resize(BufferedImage img, int newW, int newH) {
int w = img.getWidth();
int h = img.getHeight();
BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
Graphics2D g = dimg.createGraphics();
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
g.dispose();
return dimg;
}
那不编译 - getScaledInstance返回一个图像不是一个BufferedImage。 – I82Much 2013-02-18 02:46:24
我使用的例子是从我的一个工作示例中提取的,但是,这不会按原样编译。我现在就更新它。 – Ocracoke 2013-02-18 12:18:10
仍然不安全 - 在我的Macbook上,例如,我收到了ClassCastException - 这不是保证转换。 – I82Much 2013-02-18 17:08:44