JAVA将长方形图片剪裁成正方形。

2020-05-11 09:23:18 浏览数 (1)

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;
        }

非常简单的就将长方形剪裁成正方形了。

0 人点赞