Java 图片压缩
Posted 哦克Oak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 图片压缩相关的知识,希望对你有一定的参考价值。
我们日常开发中,经常会遇到图片太大然后加载慢的问题,话不多说,直接上图片压缩代码
入参: MultipartFile file String fileOrigName = file.getOriginalFilename(); String fileName = String.format("%s.%s", UUID.randomUUID().toString(), StringUtils.substringAfter(fileOrigName, ".") ); if(fileOrigName.contains("png") || fileOrigName.contains("jpg") || fileOrigName.contains("jpeg")) { // 图片压缩 InputStream inputStream = file.getInputStream(); // 把图片读入到内存中 BufferedImage bufImg = ImageIO.read(inputStream); // 压缩代码 存储图片文件byte数组 ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 防止图片变红 BufferedImage newBufferedImage = new BufferedImage(bufImg.getWidth()-100, bufImg.getHeight()-100, BufferedImage.TYPE_INT_RGB); newBufferedImage.createGraphics().drawImage(bufImg, 0, 0, Color.WHITE, null); // 先转成jpg格式来压缩,然后在通过OSS来修改成源文件本来的后缀格式 ImageIO.write(newBufferedImage, "jpg", bos); // 获取输出流 inputStream = new ByteArrayInputStream(bos.toByteArray()); // 上传OSS OssUtil.ins().uploadFile(fileName, inputStream); }
以上是关于Java 图片压缩的主要内容,如果未能解决你的问题,请参考以下文章