Java图片Base64格式压缩大小至40k之内

2023-10-27

Maven中用到的依赖:

        <dependency>
            <groupId>net.coobird</groupId>
            <artifactId>thumbnailator</artifactId>
            <version>0.4.8</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.30</version>
        </dependency>

base64转换成BufferedImage:

public static BufferedImage base64String2BufferedImage(String base64string) {
        BufferedImage image = null;
        try {
            InputStream stream = BaseToInputStream(base64string);
            image = ImageIO.read(stream);
        } catch (IOException e) {
            LOG.info("");
        }
        return image;
}

BufferedImage转换成base64,在这里需要设置图片格式,如下是jpg格式图片:

public static String imageToBase64(BufferedImage bufferedImage) {
        Base64 encoder = new Base64();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        try {
            ImageIO.write(bufferedImage, "jpg", baos);
        } catch (IOException e) {
            LOG.info("");
        }
        return new String(encoder.encode((baos.toByteArray())));
}

Base64转换成InputStream:

  private static InputStream BaseToInputStream(String base64string){
        ByteArrayInputStream stream = null;
        try {
            BASE64Decoder decoder = new BASE64Decoder();
            byte[] bytes1 = decoder.decodeBuffer(base64string);
            stream = new ByteArrayInputStream(bytes1);
        } catch (Exception e) {
            // TODO: handle exception
        }
        return stream;
    }

压缩图片至40k之内,将原图片的长宽分别压缩为原图片的1/3,如果图片大小大于40k,则继续进行压缩。

public static String resizeImageTo40K(String base64Img) {
        try {
            BufferedImage src = base64String2BufferedImage(base64Img);
            BufferedImage output = Thumbnails.of(src).size(src.getWidth()/3, src.getHeight()/3).asBufferedImage();
            String base64 = imageToBase64(output);
            if (base64.length() - base64.length() / 8 * 2 > 40000) {
                output = Thumbnails.of(output).scale(1/(base64.length()/40000)).asBufferedImage();
                base64 = imageToBase64(output);
            }
            return base64;
        } catch (Exception e) {
            return base64Img;
        }
    }

图片的Base64大小计算为:

base64.length() - base64.length() / 8 * 2 

图片压缩的验证方法:

public static void main(String[] args){
         String base64="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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java图片Base64格式压缩大小至40k之内 的相关文章

  • 数据表示——原码、反码、补码、移码

    到目前为止 我们学习了十进制 二进制 八进制 十六进制等用来代表实际数值的数 称为真值 这些数我们再日常生活中都会使用到 那么在计算机中数值是怎么来表示的呢 数在计算机中的表示形式统称为机器数 计算机中处理数据及运算都是采用二进制 通常规定
  • SpringBoot项目结构介绍

    访问 http start spring io 网址 进行项目导入 基本项目结构 src main java 程序开发以及主程序入口 src main resources 配置文件 src test java 测试程序 官方建议项目结构 m
  • Speech框架API

    文章目录 Speech SFVoiceAnalytics SFSpeechRecognitionResult SFTranscription SFTranscriptionSegment SFSpeechRecognitionRequest
  • React 基本简介(1)

    什么是 React 用于构建用户界面的 JavaScript 库 React API 是处理视图的 API 集合 React 仅仅负责 View 层渲染 一个视图渲染的工具库 不做框架的事情 打包 utils 等 React 组件组成 一个
  • 有多条业务线,mysql建多库多表比较好还是一个库多个表比较好呢?

    选择使用多库多表还是一个库多个表 取决于你的具体情况和需求 以下是一些考虑因素 数据隔离 如果每条业务线需要完全独立的数据隔离 例如不同业务线的数据不会相互关联或共享 那么使用多库可以更好地实现数据隔离 管理和维护 使用多库可以将不同业务线
  • pycharm2022.2.4在jupyter notebook模式下画动图不显示

    pycharm2022 2 4在jupyter notebook模式下画动图不显示 解决办法是 matplotlib auto 曾尝试过 matplotlib notebook 还是不行 notebook模式在web浏览器中可以正常使用 能
  • 输入20个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0—100分。(C语言)

    代码 include
  • 【C语言】静态通讯录的实现

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 一 项目要求 实现一个通讯录 二 Contact h 三 Con
  • 力扣第二十七天(heap(priority queue) topic)

    文章目录 problem solution 1 problem solution problem 215 Kth Largest Element in an Array Given an integer array nums and an
  • Python判断是否保留两位以下小数的数字

    判断是否为保留两位小数的数字 def check money interface money 支付时 输入的金额可能是小数 也可能是整数 s str money if s count 1 判断小数点个数 sl s split 按照小数点进行
  • TVM张量表达式

    Get Started with Tensor Expression TVM使用一个定义域特定张量表达式来高效地构造核 In 1 import tvm import tvm testing from tvm import te import
  • jenkins配置sonar并扫描C#代码

    背景 我的jenkins搭在linux上 1 下载插件 下载插件sonarqube scanner 用来集成sonarqube 在配置任务的时候才有sonarscanner的选项 2 全局工具配置 全局工具配置windows本地的msbui
  • qt系列-qt6在线安装慢的问题

    qt unified windows x64 online exe mirror https mirrors aliyun com qt 下载速度飞快
  • Qt贪吃蛇(代码裸写,不用creator)

    先上个图哇 图1 第一关视图 图2 第二关视图 游戏说明 1 每关只需吃20颗红果即可通关 2 增加新场景 在第二关出现 3 增加刚打开程序READY状态 按空格开始 4 增加暂停功能 在程序运行中按空格暂停 再按空格继续游戏 5 只要不关
  • Python客户端发布订阅MQTT云代理消息

    MQTT基础 MQTT 是一种开放且简单的客户端服务器发布 订阅消息传输协议 专为高延迟和低网络带宽环境下不同设备之间的机器对机器通信而设计 机器对机器通信 这很容易 一个系统需要与其他系统交换信息 在物联网环境中 设备之间的通信需求急剧增
  • react native 使用echarts做面积图

    react native 使用echarts 我用到了一个组件 react native secharts https github com shifeng1993 react native secharts 使用 import Echar
  • Git合并的代码 不提交服务器的方法

    使用Git下载代码的时候 常遇到合并的情况 然后再上传的时候 系统就会自动把合并代码的过程也上传 有时候会感觉非常的烦Merge remote tracking branch choose remote name master 每次先下载到
  • pycharm自定义多行注释的颜色

  • JWT续期问题,ChatGPT解决方案

    JWT JSON Web Token 通常是在用户登录后签发的 用于验证用户身份和授权 JWT 的有效期限 或称 过期时间 通常是一段时间 例如1小时 过期后用户需要重新登录以获取新的JWT 然而 在某些情况下 用户可能会在JWT到期之前使
  • DirectShow应用——支持Windows Media格式

    大家知道 微软定义了自己的一种媒体文件类型 叫做ASF Advanced Systems Format ASF其实是一个文件 容器 它本身并没有规定音视频的压缩格式 在ASF文件中 我们可以包含任何格式的压缩的 包括MPEG 4 或非压缩的

随机推荐

  • 抽象工厂设计模式的扩展

    american com itheima pattern factory config factory AmericanCoffee latte com itheima pattern factory config factory Latt
  • 【Apache Spark 】第 11 章使用 Apache Spark 管理、部署和扩展机器学习管道

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • git分支合并错误回滚

    1 合并 比如testB分支合并testA分支 2 还原 如果合并时 代码有错误 已经提交的远程分支 可以参考tortoisegit 还原到某个版本 强制还原 3 重新合并 可重新执行合并流程 改过错误代码后 重新提交的远程分支
  • Java异常类详解

    目录 异常简介 异常体系 异常的处理 自定义异常类 一 异常简介 1 1 异常定义 异常是运行程序的过程中产生的异常情况 异常的情况是指程序在运行过程中 可能由于外界条件的变更 不设想的不一致 导致出现错误的情况 如数据库连接 异常不同于常
  • C++类对象创建过程(分配空间、赋值和初始化、对象初始化顺序、虚函数表指针)

    http my oschina net alphajay blog 5029 from rss 初看到这个题目 你可能会有些疑惑 C 类对象的创建还有什么好说的 不就是调用构造函数么 实际上情况并不是想象中的那么简单 大量的细节被隐藏或者被
  • Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件

    场景 Node RED简介与Windows上安装 启动和运行示例 Node RED简介与Windows上安装 启动和运行示例 霸道流氓气质的博客 CSDN博客 在inject节点可以设置重复触发的周期性事件 比如每两秒输出一次时间 注 博客
  • Windows系统服务器如何磁盘挂载

    桌面远程登录服务器后 服务器桌面上只有一个回收站的 我们在桌面空白处右键属性 gt 桌面 gt 自定义桌面 gt 然后把我的电脑前面的框框勾上 再然后点应用 确定 ok 回到桌面我们就能看到我的电脑了 步骤 点击我们电脑 gt 右键管理 g
  • VSCODE设置位置

    目录 设置位置 用户区 工作区 设置方法 设置编辑器 设置文件 结束 设置位置 VSCODE设置位置分为用户区和工作区 用户区 用户设置是全局的 对所有工作区和项目都有效 用户设置会存储在用户的配置文件夹中 并以settings json文
  • oceanbase 与hbase主要区别

    oceanbase支持跨表的事务 而hbase中支持跨行的事务 这是由他们的设计特别决定的 updateserver实际上是将Hbase所有ReginonServer的memtable聚合在一起 regionserver只服务一部分tabl
  • 编程tips

    一 是XOR 是不等于 if a b 和if a b 对对于聪明的编译器来说效率应该是一样的 二 与 的优先级比 高一级 表达式的结合次序取决于表达式中各种运算符的优先级 优先级从上到下依次递减 最上面具有最高的优先级 逗号操作符具有最低的
  • Spring中AOP

    1 概述 AOP 面向切面编程 将程序中的非业务代码抽取 在不修改业务代码的前提下 为其添加功能 功能增强 面向切面的编程思想底层是为目标创建一个代理对象 让代理对象调用目标类中方法 在代理对象调用时 可以额外的调用其他的方法 增强的方法
  • hduoj 2011

    多项式求和 Problem Description 多项式的描述如下 1 1 2 1 3 1 4 1 5 1 6 现在请你求出该多项式的前n项的和 Input 输入数据由2行组成 首先是一个正整数m m lt 100 表示测试实例的个数 第
  • Linq to Sql : 并发冲突及处理策略

    0 并发冲突的示例 单用户的系统现在应该比较罕见了 一般系统都会有很多用户在同时进行操作 在多用户系统中 涉及到的一个普遍问题 当多个用户 同时 更新 修改或者删除 同一条记录时 该如何更新呢 下图展示了开放式并发冲突的一个示例 假设数据库
  • OpenGL片段列表渲染:实现流畅的大规模场景渲染

    OpenGL片段列表渲染 实现流畅的大规模场景渲染 在实时渲染领域 处理大规模场景是一项重要的任务 然而 传统的渲染方式存在着效率低下 内存消耗大等问题 为了解决这些问题 最近的研究中提出了使用片段列表进行场景渲染的方法 本文将介绍如何使用
  • python批量写入数据

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 python批量写入文件内容 前言 一 使用步骤 1 引入库 前言 提示 这里可以添加本文要记录的大概内容 python批量写入文件内容 提示 以下是本篇文章正文内容 下面案
  • 数字后端——信号完整性分析

    随着光刻和集成电路制造工艺的不断进步 以及芯片的特征尺寸从深亚微米到纳米的迅速采用 人们一方面因为芯片的功能极大提高而受益 另一方面 当逻辑门的沟道长度减小时 门的开关时间会减小 这意味着输出驱动器上升时间变短 或者说时钟频率可以更高 同时
  • Web和Servlet

    Web web开发概述 学习web开发 需要先安装一台web服务器 将开发好的web项目部署在web服务器中供外界访问 web开发环境搭建 Web服务器是指驻留于英特网上某种类型计算机的程序 可以向浏览器等Web客户端提供文档 也可以放置网
  • 万亿级KV存储架构与实践

    一 KV 存储发展历程 我们第一代的分布式 KV 存储如下图左侧的架构所示 相信很多公司都经历过这个阶段 在客户端内做一致性哈希 在后端部署很多的 Memcached 实例 这样就实现了最基本的 KV 存储分布式设计 但这样的设计存在很明显
  • JavaScript 实现 -- 希尔排序

    文章目录 希尔排序 代码实现 时间复杂度和稳定性 希尔排序 希尔排序是插入排序的一种 又称 缩小增量排序 Diminishing Increment Sort 是插入排序的一种更高效的改进版本 希尔排序实际上就是分组的插入排序 希尔排序以步
  • Java图片Base64格式压缩大小至40k之内

    Maven中用到的依赖