使用java切割图片

前端使用了vue框架,切图有困难,所以切图这个工作交给我,总结一下.

  • 入参
参数 类型 必传(否) 描述
inputStream InputStream 读入流
fileName String 文件名
x Integer 起始点
y Integer 起始点
w Integer
h Integer

使用了thumbnailator框架

compile group: 'net.coobird', name: 'thumbnailator', version: '0.4.8'

涉及到的流

PipedInputStream
PipedOutputStream

业务代码

//最后将传入的inputStream流切完之后转换成pis可以继续存储
try (PipedInputStream pis = new PipedInputStream()) {
            try (PipedOutputStream pos = new PipedOutputStream(pis)) {
                Thumbnails.of(inputStream)
                        .sourceRegion(Integer.parseInt(x), Integer.parseInt(y), Integer.parseInt(w), Integer.parseInt(h))
                        .size(Integer.parseInt(w), Integer.parseInt(h))
                        .outputFormat(PhotoFileUtil.getSuffixNameWithOutPoint(disposition.getFileName())).toOutputStream(pos);
            }

        }

你可能感兴趣的:(使用java切割图片)