首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用Java压缩png

使用Java压缩PNG图片可以通过以下步骤实现:

  1. 导入相关的Java类库和包:import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.Iterator; import java.util.logging.Level; import java.util.logging.Logger; import java.util.zip.Deflater; import java.util.zip.DeflaterOutputStream;
  2. 加载PNG图片并创建BufferedImage对象:BufferedImage image = ImageIO.read(new File("input.png"));
  3. 创建压缩后的输出文件:File compressedFile = new File("compressed.png");
  4. 创建压缩输出流并设置压缩级别:OutputStream outputStream = new FileOutputStream(compressedFile); DeflaterOutputStream deflaterOutputStream = new DeflaterOutputStream(outputStream, new Deflater(Deflater.BEST_COMPRESSION));
  5. 将BufferedImage对象写入压缩输出流:ImageIO.write(image, "png", deflaterOutputStream);
  6. 关闭压缩输出流:deflaterOutputStream.close();

压缩PNG图片的优势是可以减小图片文件的大小,节省存储空间和网络传输带宽。压缩后的图片在视觉上几乎无损,因为PNG是一种无损压缩的图片格式。

应用场景包括但不限于:

  • 网站或应用程序中需要加载大量图片的情况,通过压缩可以提高加载速度和用户体验。
  • 在移动应用程序中,压缩PNG图片可以减少应用程序的安装包大小,节省用户的流量和存储空间。
  • 在云存储服务中,压缩PNG图片可以减少存储成本和网络传输费用。

腾讯云提供了一系列与图片处理相关的产品和服务,其中包括云图片处理(Image Processing)服务。您可以使用腾讯云的云图片处理服务来实现图片的压缩、裁剪、缩放等操作。详情请参考腾讯云云图片处理产品介绍页面:https://cloud.tencent.com/product/imgpro

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

极限压缩 PNG

极限压缩 PNG 2017-11-29 12:17 为了让博客的访问者有更快的访问速度,同时兼顾显示效果,我们有些选择却不多——比如选用 WebP...但考虑到浏览器兼容性问题,有时不得不考虑依然 PNG。 这里我找到一款极限 PNG 压缩工具——LimitPNG。 ---- limitPNG - PNG 图片极限压缩工具 ?...在极限压缩的时候,压缩一张 PNG 的耗时真的很长,几分钟算是很理想的状态了。部分图片压缩比依然不够大,不过如果愿意丢失一点点精度,可以换取非常大的压缩比提升。...考虑到大量图片批量压缩,作者又做了另外一款软件: gluttonyPNG – 大批量 PNG 图片压缩工具 于是,应该能应付日常各种需要极限压缩的场景了。...本文会经常更新,请阅读原文: https://walterlv.com/post/limit-png.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

95920
  • PNG 图片压缩原理解析

    PNG 8:PNG 8中的8,其实指的是8bits,相当于2^8(2的8次方)大小来存储一张图片的颜色种类,2^8等于256,也就是说PNG 8能存储256种颜色,一张图片如果颜色种类很少,将它设置成...PNG 24:PNG 24中的24,相当于3乘以8 等于 24,就是三个8bits分别去表示 R(红)、G(绿)、B(蓝)。...什么样的PNG图片更适合压缩 常规的png图片,颜色越单一,颜色值越少,压缩率就越大,比如下面这张图: ?...PNG压缩 PNG图片的压缩,分两个阶段: 预解析(Prediction):这个阶段就是对png图片进行一个预处理,处理后让它更方便后续的压缩。...如前面所说,Deflate压缩会标记图片所有的重复数据,并记录数据特征和结构,会得到一个压缩比最大的png图片 编码数据。 Deflate是一种压缩数据流的算法. 任何需要流式压缩的地方都可以

    1.7K30

    PNG图片压缩对比分析

    业务的增加导致图片越来越多,通过分析可以知道PNG格式图片是项目中数量最多的图片,关于PNG图片的介绍可以参考:PNG文件格式详解。为了实现减包任务,对图片进行压缩是很重要的一部分。...为了实现PNG图片的压缩,之前的处理方式是先在本地进行压缩,然后提交到SVN,再打包发布。...2)在线API 提供在线API供开发者二次开发,支持Ruby、PHP、Node.js、Python、Java等语言,其中Java库源码地址为tinify-java。...一般有损压缩压缩率会大大高于无损压缩压缩对比 一些流行的PNG压缩工具的压缩率对比可以参照:常用PNG压缩工具压缩率对比。...总共可以减包2.22MB; PNG压缩前: PNG压缩后: 2)实现PNG图片自动化压缩处理,大大提高了开发效率,方便维护管理; 3)通过groovy脚本可以实现自定义压缩品质与写入压缩信息

    9.8K110

    【Android Gradle 插件】自定义 Gradle 插件优化图片 ② ( 压缩 png、jpg 图片 | 使用 pngcrush 压缩工具压缩 png 图片 )

    文章目录 一、压缩 png、jpg 图片 二、使用 pngcrush 压缩工具压缩 png 图片 Android Plugin DSL Reference 参考文档 : Android Studio...com.android.build.gradle.api.AndroidSourceSet.html AndroidSourceDirectorySet ( build.gradle#android#sourceSets#aidl/assets/java...png、jpg 图片 ---- 在 Android 应用中 , 最常见的图片格式是 png 和 jpg 格式 , 为这两种图片格式选择合适的图片压缩工具 : png 图片 : pngcrush 压缩工具..., 该工具时无损压缩工具 , 官网 https://pmt.sourceforge.io/pngcrush/ ; jpg 图片 : guetzli 压缩工具 ; 二、使用 pngcrush 压缩工具压缩...output.png 命令 , 进行 png 图片压缩 ; -brute 参数的作用是设置 " 从 148 种不同的方法中选择最合适的方案进行压缩 " ; -rem alla 参数作用是设置 " 移除

    1K20

    PNG图片如何压缩,4款图片压缩神器你值得拥有

    ,那么PNG图片如何压缩?...▼▼ ①一次性可批量压缩最多不超过6张PNG图片 ②压缩之后PNG格式不变支持JPG和PNG两种格式 ③数量超过6张就要收费 压缩之后,会显示压缩图片之后的大小,及压缩率,让你清楚的看到压缩之后的效果...▼▼ ①一次可批量上传压缩最多10张JPG、PNG和GIF图片,会员可单次上传60张 ②支持JPG、PNG图片格式 ③压缩等级可以自由选择,压缩等级越大,压缩后清晰 ④压缩后的图片可选格式为jpg、png...▼▼ ①一次性可批量压缩最多20张不超过5M的JPG或者PNG图片 ②压缩后的图片会变成PNG格式 ③数量超过20张和大小超过5M的需要收费 ④图片上传的同时,就会自动进行压缩处理,需要注意的是压缩后的图片会变成...虽然这个网站能压缩图片,但是功能比较单一。 以上呢就是给大家介绍的PNG图片压缩的全部内容了,也给大家介绍了几款比较好用的压缩神器,大家可以根据自己的需要来去选择对应的神器哦。

    1.3K20

    在 WordPress 后台自动压缩 PNG 图片

    我前面介绍过 TinyPNG 这个服务,它通过一种智能有损压缩技术(通过降低图片中的颜色数量,来减少存储图片所需要的数据)来降低 PNG 图片的大小,它是将 PNG 图片压缩成 8 位的 PNG 格式,...所以它的压缩比例非常高,至少都有 50% 以上的压缩比例,有些甚至可以达到70%,并且压缩之后的图片和原图人眼基本看不出区别,并且还能保持 PNG 的 alpha 透明度。...WordPress 后台压缩 PNG 图片。...Compress PNG for WP 这个插件使用非常简单,安装之后,它会要求你在 WordPress 后台 > 设置 > 媒体 界面上输入你的 TinyPNG 免费的 API Key: 默认情况下它会自动压缩所有的...设置好之后,在进入媒体库,就可以看到新上传的 PNG 图片的原始大小,压缩之后的大熊啊,以及节省比例: 需要注意的是 TinyPNG 免费的 API Key 使用上是有限制,每个月只能使用 500 次

    52220

    在线PNG图片压缩工具推荐——TinyPng

    日常开发工作中时常需要对PNG图片压缩,今天推荐大家一个在线的图片压缩工具,ThinyPng 在线地址:https://tinypng.com/ TinyPng:在线PNG图片压缩工具是一款可以帮助网页设计师们优化图片的工具...,只需要简单的两步就可以完成对PNG图片的高压缩而且还不会影响PNG图片的质量,这样就可以解决网页设计师因图片太大而影响网站加载网页速度的难题。...TinyPNG工具在保持alpha通道的情况下对PNG压缩可以达到1/3之内,而且肉眼基本上分辨不出压缩的损失。不过唯一可惜的是只支持上传png图片到官网上压缩,然后下载。...不过TinyPNG提供了developers api,也是基于http的,免费版可以每个月压缩500图片。收费版支持每个月3500张图片以上

    1.9K20

    TinyPNG 和 WordPress 图片压缩插件:Compress JPEG & PNG images

    今天魏艾斯博客来说一下在图片优化方面大名鼎鼎的TinyPNG和WordPress 图片压缩插件:Compress JPEG & PNG images。 ?...,压缩比是非常高的,而且压缩后的图片能够做到清晰度尽量的好。...不管 jpg 还是 png 图片都可以放上去压缩一下,保证会让你满意。 同时 TinyPNG 还提供 WordPress 插件:Compress JPEG & PNG images。...激活之后,每个月你可以免费压缩最多 500 张 JPG/PNG 格式的图片。...对于之前已经上传到网站上的图片,它也可以进行批量压缩(bulk optimization),同步显示图片处理数量、剩余数量、压缩比例和节省空间等,还是蛮实用的,压缩过程可以随时点击按钮停止。

    1.4K20

    Android Apk瘦身方案2——gradle插件将png自动压缩为webp

    <= 17 不支持带 alpha 通道的图像,所以,针对 AAPT2, alpha 两个维度,将 task 分成了4 种: 应用是发布在 Google Play 上,应用的启动图标必须是 PNG...代码实现 以下代码均来自booster开源项目 1.自定义gradle插件BoosterPlugin.java 这里的variantProcessors方法代码如下: private val..., javaClass.classLoader).sortedBy { it.javaClass.getAnnotation(Priority::class.java)?....,PngquantCompressionVariantProcessor用于针对于不能使用cweb的情况进行图片压缩,还有很多其他的Processor。...s0还大,则对输出进行删除,否则,说明压缩后确实变小了,继续执行aapt2命令,将资源编译后输出到打包的资源文件夹,则对源文件进行删除。

    1.5K40

    屌丝的眼泪,因为错过的初恋,才搞清楚PNG图片压缩原理

    一句话形容现在的感受就是: “你已经登上更高的巅峰 而我只能望着你远去的背影”。 默默点了根烟,把她长得好看的照片都保存了下来。 咦?发现每一张照片都是.png的图片格式。 png??...PNG 8:PNG 8中的8,其实指的是8bits,相当于28(2的8次方)大小来存储一张图片的颜色种类,28等于256,也就是说PNG 8能存储256种颜色,一张图片如果颜色种类很少,将它设置成PNG...PNG 24:PNG 24中的24,相当于3乘以8 等于 24,就是三个8bits分别去表示 R(红)、G(绿)、B(蓝)。...PNG压缩 PNG图片的压缩,分两个阶段: 预解析(Prediction):这个阶段就是对png图片进行一个预处理,处理后让它更方便后续的压缩。...如前面所说,Deflate压缩会标记图片所有的重复数据,并记录数据特征和结构,会得到一个压缩比最大的png图片 编码数据。 Deflate是一种压缩数据流的算法. 任何需要流式压缩的地方都可以

    52720
    领券