使用java切割图片[非多线程使用]

上篇文章写的是适用于多线程情况下,接下来我们使用单线程情况下的

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

                Thumbnails.of(inputStream)
                        .sourceRegion(Math.round(x), Math.round(y), Math.round(w), Math.round(h))
                        .size(Math.round(w), Math.round(h))
                        .outputFormat(PhotoFileUtil.getSuffixNameWithOutPoint(disposition.getFileName()))
                        .toOutputStream(bos);

如果想要压缩

//按指定大小把图片进行缩和放(会遵循原图高宽比例) 
        //此处把图片压成400×500的缩略图
        Thumbnails.of(fromPic).size(400,500).toFile(toPic);//变为400*300,遵循原图比例缩或放到400*某个高度


 //按照比例进行缩小和放大
        Thumbnails.of(fromPic).scale(0.2f).toFile(toPic);//按比例缩小
        Thumbnails.of(fromPic).scale(2f);//按比例放大


   //图片尺寸不变,压缩图片文件大小outputQuality实现,参数1为最高质量
        Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);

你可能感兴趣的:(使用java切割图片[非多线程使用])