我尝试使用仿射变换来缩小BufferedImage,但我只是设法缩放图像而不是像我需要的那样缩小图像。
这是我的扩展代码。
public BufferedImage Scale(){
BufferedImage after = new BufferedImage(before.getWidth(), before.getHeight(), BufferedImage.TYPE_INT_ARGB);
AffineTransform at = new AffineTransform();
at.scale(-2.0, -2.0);
AffineTransformOp scale = new AffineTransformOp(at, AffineTransformOp.TYPE_BILINEAR);
after = scale.filter(before, after);
return after;
}
答案 0 :(得分:3)
要缩小比例,请使用范围(0.0,1.0)中的比例,而不是负数。
使用缩放(xScale,yScale)应用缩放仿射变换时,新尺寸为(imgWidth * xScale,imgHeight * yScale)。
答案 1 :(得分:0)
如果将其绘制到图形上下文中,则可以在drawImage
调用中指定新的宽度和高度。