pngquant

Centos 安装php Imagick 扩展

落爺英雄遲暮 提交于 2020-11-09 14:29:40
从 centos 仓库安装 首先安装 php-pear php-devel,gcc三个软件包 yum install php-pear php-devel gcc 通过 yum 安装Centos 官方源的 imageMagick 软件 yum install ImageMagick ImageMagick-devel ImageMagick-perl 下一步,验证 ImageMagick 已经安装在你的系统上并验证它的版本 # convert --version Version: ImageMagick 6.7.2-7 2017-03-22 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC Features: OpenMP 通过ImageMagick源码安装 未尝试 安装 ImageMagick php扩展 下面通过简单的 pecl 命令来安装 PHP的 ImageMagick 扩展,它将会安装 ImageMagick 和 一个在 /usr/lib/php/modules 目录下的一个文件名是 imagick.so 的ImageMagick php扩展。如果你是使用64位系统,这个扩展放的路径是在 /usr/lib64/php/modules # pecl

开发一款图片压缩工具(三):使用 click 实现命令行

末鹿安然 提交于 2020-04-28 08:35:43
上一篇实现了图片的压缩函数。现在如果需要对图片进行压缩,可以调用实现的函数进行压缩: pngquant_compress( 'elephant.png' , force= True , quality= 20 ) 但是每次输入 python run_script.py 没有对应的参数传入, 还要去改脚本参数挺麻烦的。可以添加命令行的方式进行调用: python run_script.py elephant.png --force --quality 30 1. 使用 click python 的 click 库可以非常方便的实现命令行调用。 click 是 flask 作者开发的。用法很简单,只需要添加装饰器在需要运行的程序上就可以了: 当我输入 python demo.py —help 的时候, 会显示命令行帮助信息: 2. click 必填参数 argument 可以在函数上添加 @click.argument('arg_name') : import click @click.argument("arg_name") def pngquant_compress () : 当程序没有填入必填参数时,将会提示: 3. click 可选参数 option option 是 click 的重点,比 argument 要灵活很多。他的表示方法和 argument 差不多: import

博客开发日志(2)

自作多情 提交于 2020-04-06 18:09:07
前言 博客的编辑器终于做好了,可以愉快的写博客了 码起来 然后SHADOW发现博客页的加载越来越慢了,理论上博客的数量并不多。不应该会慢才对 排查问题 排查网络 打开Chrome的开发工具调到网络观察页面的加载情况有两个请求比较耗时 https://uploadbeta.com/api/pictures/random/?key=BingEverydayWallpaperPicture 这是Bing的每日图片接口,用来做随机的主页博客背景。先记录下来,后续考虑换掉 http://www.shadow-li.com.cn/static/js/chunk-41d0b938.841343de.js 这个很明显是webpack的打包文件,重点是体积有点大,有500多kb 排查报错 本地环境开发时都排查过一遍,不太会有报错或者异常,略过 排查性能 切换到Chrome的performance,重新加载页面,观察整个页面的加载情况。 这里主要看FPS一栏,除了最初的200毫秒,也就是First Paint前基本保持满帧,应该也不是操作dom引起的重绘和回流 所以可以确定是文件加载过慢的导致的,而文件又比较大,所以从文件下手 webpack的打包的文件经过混淆和重新编译,直接在浏览器中看是看不出什么端倪的。所以需要工具的帮助 诊断 对webpack打包做分析推荐使用 webpack-bundle

PNGs generated with gulp using imageminPngquant + imageminZopfli don't work on MacOS Safari

南楼画角 提交于 2019-12-25 01:49:11
问题 I have the following gulp code for png minification: function images() { return gulp.src([folder.preimages+'/**/*.png']) .pipe(cache(imagemin([ //png imageminPngquant({ speed: 1, quality: [0.95, 1] //lossy settings }), imageminZopfli({ more: true // iterations: 50 // very slow but more effective }) ]))) .pipe(gulp.dest(folder.public_img)); } The end result is a very nicely compressed png with a low file size. It works fine on Edge, Chrome, Firefox, but when I try to open it on MacOS Safari it

content instead of path in shell

空扰寡人 提交于 2019-12-25 01:23:24
问题 Pngquant has the following example for php // '-' makes it use stdout, required to save to $compressed_png_content variable // '<' makes it read from the given file path // escapeshellarg() makes this safe to use with any path $compressed_png_content = shell_exec("pngquant --quality=$min_quality-$max_quality - < ".escapeshellarg( $path_to_png_file)); I want to replace $path_of_file with the actual content. This will avoid wasting I/O when converting a file from one format to png and then

pngquant PHP example isn't working

那年仲夏 提交于 2019-12-23 09:59:15
问题 I am trying to use the pngquant compression algorithm to compress PNG images on the fly using WAMP. They provide a PHP example that (I think) is supposed to use the command line binary for Windows, which I have put in the system32 folder and I can access from anywhere on the command line. I have taken their example and traced the problem to the $compressed_png_content = shell_exec("pngquant --quality=$min_quality-$max_quality - < ".escapeshellarg( $path_to_png_file)); line. I have simplified

优化包大小-PNG部分

浪子不回头ぞ 提交于 2019-12-06 14:56:18
背景 PNG 图片相对于 JPEG 图片来说,它是一种无损的图像存储格式,同时多了一条透明度通道,所以一般情况下,PNG 图片要比 JPEG 图片要大,并且 PNG 图片往往还是 APK 图片资源中的大头,所以优化 PNG 图片的大小,对于减小包的体积来说,是比较有回报的事情。 关于 PNG 的 wiki: 便携式网络图形 (英语: P ortable N etwork G raphics, PNG )是一种 无损压缩 的 位图 图形格式,支持索引、 灰度 、 RGB 三种颜色方案以及 Alpha通道 等特性。 关于 JPEG 的 wiki: 联合图像专家小组 (英语: J oint P hotographic E xperts G roup,缩写: JPEG )是一种针对照片影像而广泛使用的 有损压缩 标准方法。 常用的压缩算法 关于 PNG 的压缩算法有很多,这里我们只说两种比较常用的: Indexed_color 和 Color_quantization 。这两种也是 Google 在 Android 开发者网站上推荐的,具体可以看 network-xfer 。 下面我们会简单说下这两种算法的大概原理,更深入的知识请移步 Google 或者 Wiki。 Indexed_color 字面意思就是索引颜色,通过将具体的 ARGB 颜色存储转换成索引下表,来减少文件的大小。我们知道

优化包大小-PNG部分

二次信任 提交于 2019-12-06 13:38:30
背景 PNG 图片相对于 JPEG 图片来说,它是一种无损的图像存储格式,同时多了一条透明度通道,所以一般情况下,PNG 图片要比 JPEG 图片要大,并且 PNG 图片往往还是 APK 图片资源中的大头,所以优化 PNG 图片的大小,对于减小包的体积来说,是比较有回报的事情。 关于 PNG 的 wiki: 便携式网络图形 (英语: P ortable N etwork G raphics, PNG )是一种 无损压缩 的 位图 图形格式,支持索引、 灰度 、 RGB 三种颜色方案以及 Alpha通道 等特性。 关于 JPEG 的 wiki: 联合图像专家小组 (英语: J oint P hotographic E xperts G roup,缩写: JPEG )是一种针对照片影像而广泛使用的 有损压缩 标准方法。 常用的压缩算法 关于 PNG 的压缩算法有很多,这里我们只说两种比较常用的: Indexed_color 和 Color_quantization 。这两种也是 Google 在 Android 开发者网站上推荐的,具体可以看 network-xfer 。 下面我们会简单说下这两种算法的大概原理,更深入的知识请移步 Google 或者 Wiki。 Indexed_color 字面意思就是索引颜色,通过将具体的 ARGB 颜色存储转换成索引下表,来减少文件的大小。我们知道