JAVA如何将长方形图片剪裁成正方形呢?其实很简单,用到了BufferedImage的getSubimage()方法。不多说,直接上代码:
代码语言:javascript复制 /**
* 剪裁成正方形
*/
public static BufferedImage getSque(BufferedImage bi) {
int init_width = bi.getWidth();
int init_height = bi.getHeight();
if (init_width != init_height){
int width_height = 0;
int x = 0;
int y = 0;
if (init_width > init_height) {
width_height = init_height;//原图是宽大于高的长方形
x = (init_width-init_height)/2;
y = 0;
} else if (init_width < init_height) {
width_height = init_width;//原图是高大于宽的长方形
y = (init_height-init_width)/2;
x = 0;
}
bi = bi.getSubimage(x, y, width_height, width_height);
}
return bi;
}
非常简单的就将长方形剪裁成正方形了。