pngout是一个基于命令行的对png进行极限压缩的程序,它会去除软件在生成png时加入的额外信息,所以压缩的时候是无损压缩,可以有效降低png容量,又不用担心会失真。
pngout可以在这里下载和查看文档:http://advsys.net/ken/util/pngout.htm
在命令行里这样使用pngout:
D:/pngout.exe sourcepath resultpath
第二个参数可以省略,这样会直接覆盖原来的文件。
可以用ruby配合pngout来批量处理png图片,其实只需要加一个文件遍历,然后在ruby中调用命令行命令即可:
require 'find'
require 'fileutils'
source, result = "D:/source/", "D:/result/"
Find.find(source) do |file|
if(!File.directory?(file) && File.extname(file) == ".png")
IO.popen("d:/pngout.exe " + file + " " + result + File.basename(file)) { |f| puts "converting..." + file}
end
end
平时用到一两个png的时候,去操作命令行或者运行ruby脚本都很麻烦,那干嘛不做一个自动压缩的脚本呢?
原理很简单,设置一个文件夹,用ruby遍历它,例如3秒遍历一次,发现有文件被修改或者增加了文件,就把文件压缩一下。
如此这般,就自动化了,在你保存png之后,只需要等一小会,即可被压缩好,中间不用任何多余操作。
判断文件是否被修改是根据文件最后修改时间来的。
require 'find'
require 'fileutils'
dir = "d:/source";
time_record = {}
def pngout dirname
if(!File.directory?(dirname) && File.extname(dirname) == ".png")
IO.popen("d:/pngout.exe " + dirname) { |f| puts "converting..." + dirname }
end
end
begin
Find.find(dir) do |file|
begin
if (!time_record.has_key?(file))
pngout(file)
time_record[file] = File.mtime(file)
else
if(time_record[file] != File.mtime(file))
pngout(file)
time_record[file] = File.mtime(file)
end
end
rescue
end
end
end while sleep 3
分享到:
相关推荐
pngout 一款非常好用的png压缩工具。
使用pngout压缩后的PNG文件,不仅适用于网页设计、移动应用开发,还对那些需要上传大量图像的平台(如社交媒体或云存储服务)非常有益,因为它可以帮助节省存储空间并加快文件加载速度。 总的来说,pngout是一款...
这个GUI版本,称为ShellPngout.exe,允许用户通过简单的拖放操作将单个PNG文件或整个文件夹导入到程序中,实现批量压缩。这种方式极大地简化了使用流程,提高了用户体验。用户不再需要记住复杂的命令行参数,只需将...
PNG极限压缩工具PngOut是一款专门针对PNG图像格式进行优化和压缩的专业软件。PNG(Portable Network Graphics)格式因其无损压缩和透明度支持而被广泛应用于网页设计、图标制作以及各种数字媒体内容中。然而,原始...
Pngout 是一款可以将常用图像转换为PNG格式并将其压缩的工具,支持批量转换压缩,软件提供五种压缩方式,视压缩比大小耗时也会不同,转换压缩后输出的Png图片大小变化很大. 我做了个小测试.将1.17MB的BMP文件转换为PNG ...
在这种情况下,使用像“PNG极限压缩工具PngOut”这样的专业软件就显得尤为重要。 PngOut是一款专门针对PNG文件的压缩工具,其主要目标是在不改变图像质量的前提下,尽可能地减小文件大小。它通过优化PNG文件的内部...
3. **批处理功能**:PNGOUT支持批量处理,可以一次性压缩多个PNG文件,这对于处理大量图像的工作流来说非常方便,大大提高了工作效率。 4. **自定义压缩级别**:用户可以根据需求选择不同的压缩级别,平衡图像质量...
最强大的png压缩器提供了大量自定义的用户选项来提高PNG的压缩率
在使用PNGOUT时,需要注意的是,虽然它能够有效地减小PNG文件的大小,但过度压缩可能导致轻微的视觉质量下降,特别是在图像的边缘或有复杂渐变的地方。因此,在压缩时,用户需要根据实际情况权衡压缩级别和图像质量...
4. **advpng**:由AdvanceCOMP套件提供的PNG压缩工具,它使用zlib库进行多级压缩,可以对已经压缩的PNG文件进行进一步优化。 5. **pngrewrite**:可能是指pngout工具的一部分功能,pngout可以直接重写PNG文件的位图...
`pngout` 是一款著名的PNG图片压缩软件,由Kris Kowal开发,它能有效地减少PNG图像的文件大小,而不降低图像质量。 PNG(Portable Network Graphics)是一种无损压缩的位图格式,广泛用于网页设计和图形用户界面,...
PNGout 1.0.1(中文绿色破解版),PNG图片高保真高压缩率工具。
pngout破解版 可以节省PNG图片的大小 让资源包轻松瘦身
ImageOptim整合了多种开源的图片压缩算法,如AdvPNG、OptiPNG、PNGOUT、Pngcrush等,这些工具分别针对不同的图片特性进行优化。通过智能选择最佳的压缩策略,ImageOptim能够在保证图像质量的前提下,实现最优的压缩...
手机游戏制作利器 最近在进行j2me开发 找到一个 可以压缩png图片的软件 因为手机对资源的限制非常厉害 所以这个软件非常有用
pngout-bin 无损优化PNG文件的大小您可能需要 。安装$ npm install --save pngout-bin用法const { execFile } = require ( 'child_process' ) ;const pngout = require ( 'pngout-bin' ) ;execFile ( pngout , ...
压缩器基于Node.js,集JS、CSS、PNG压缩于一身,采用目前主流的压缩工具封装,支持文件(.js/.css/.png)右键压缩、网站目录(详见目录规则)右键一键压缩、js/css/images目录单独一键压缩。 使用插件信息: -------...
await imagemin ( [ 'images/*.png' ] , { destination : 'build/images' , plugins : [ imageminPngout ( ) ] } ) ; console . log ( 'Images optimized' ) ; } ) ( ) ; 原料药 imageminPngout(...