zoukankan      html  css  js  c++  java
  • 一个不错的 png压缩工具 pngquant 使用介绍 批量压缩png

    1.Png 简介。


     我们知道Png 有4个通道,RGBA, 多了一个表示透明的。png 有 png 32, 24, 8 等。 大致我理解的是表示颜色的多少。 数字越小,文件就越小。常见的压缩方式是导入一张图到做图软件中,然后导出png 8,而且带 alpha,这样就达到压缩目的。当然是有损的压缩。一张张图弄非常麻烦,我在想有没有C++代码能够搞定的,然后做个简单软件批量压缩png。


    2.pngquant 使用


    去google 发现了这个东西,打开主页看了了,很不错。 地址:http://pngquant.org/

    能把一个png平均压缩掉70%,并且肉眼看不出有非常大的损耗。当然输出的质量也是可控制的。

    原图,1024x1024 877KB



    选50质量压缩后的图:1024x1024 208KB,压缩率高达0.23


    还是有透明效果的!


    3.windows 下简单使用批处理循环处理全部png


    pngquant 是有在github上host了整个lib的代码。是c代码。能够用。只是官方有写好的exe,能够直接拿来用。使用方法:



    详细样例:

    pngquant -f --ext .png --quality 50-50 Ui.png   (以50质量来处理图片,直接覆盖掉原图片)


    我们能够做一个批处理:新建一个txt,后缀改成bat,写入以下内容(当然你质量能够作为用户输入的变量):

    echo "開始处理..."
    
    for /R %%i in (*.png) do (
      pngquant -f --ext .png --quality 50-50 "%%i"
    )
    
    pause

    我从80质量測试到20,发现50比較接近做图软件导出的png 8格式。只是80质量的压缩效率已经很高了,强烈建议使用80。


    4.批处理和pngquant打包下载地址

    http://www.waitingfy.com/?attachment_id=1152

    下载会得到pngquant.ext 和Compression.bat, 复制到你要批量压缩png的目录里,点击Compression.bat就会批量压缩png了。

    注意:会替换原图,请单独复制一份资源来操作!!

    假设你是mac或者linux用户,请到官方下载相应版本号,使用命令的形式。用find xx。


    參考:

     pngquant 使用介绍


  • 相关阅读:
    语文作业
    在Windows下为PHP5.5安装redis扩展
    PHP安全处理之Mcrypt使用总结
    CSS3 动画
    微信开发--获取用户openID
    微信公众号开发--获取用户信息
    php 中gd库的安装
    随机输入几个数,输出重复的数字和重复的次数
    永久解决"Error:java: 错误: 不支持发行版本 12"的问题
    报"java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing"的原因和如何处理
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4010736.html
Copyright © 2011-2022 走看看