PHP 有什么较好的质量压缩图片吗

2021-08-15 14:24:15 +08:00
 bestmos

目前找到的一般都是 imagecopyresampled,但是尺寸留为 100%的话,压缩效果较一般,处理过的图片使用安卓的 ImageCompress 库,比率设置为 40 都可以再缩小一半。 PHP 有什么类似的质量压缩类的方法吗

3667 次点击
所在节点    PHP
21 条回复
X-Force
2021-08-15 14:36:59 +08:00
转成 webp 啊
ijrou
2021-08-15 17:07:58 +08:00
前端压缩就行了。。。
akira
2021-08-15 17:35:10 +08:00
我一般是另外处理,例如调用 tinypng 之类的
cloverzrg2
2021-08-15 17:38:40 +08:00
交给 cdn
cloverzrg2
2021-08-15 17:39:23 +08:00
用 php,你是打算每个请求压缩一遍图片吗
hefish
2021-08-15 17:42:10 +08:00
搁置这种想法吧。 一般 php 也是调用 gd 或者 imagick 来完成的,这个都嫌不行,那还不如让前端压好了传过来。
bestmos
2021-08-15 18:40:39 +08:00
@cloverzrg2 图片小加载的快嘛,用户传的图动辄 2.3M ,存储成本高了
bestmos
2021-08-15 18:42:05 +08:00
@X-Force 我试一下,目前是 png 转 jpg,不太理想
yin1999
2021-08-15 21:10:56 +08:00
楼上的 webp 挺合适啊,用对象存储+serverless 来做图像的存储和转码(转 webp ),然后再套个 CDN
Xusually
2021-08-15 21:51:25 +08:00
ImageMagick + imagick,使用 webp
bestmos
2021-08-15 22:04:45 +08:00
@yin1999 但是 IE 浏览器不兼容,目前想法是对不兼容的浏览器调用原图,兼容的使用 webp 。
yin1999
2021-08-15 22:11:29 +08:00
@bestmos 那针对 IE 增加 webp 独立的支持如何 https://stackoverflow.com/a/56021203/12349560
liuxu
2021-08-15 23:20:56 +08:00
你可以试一下 imaginary,基于 libvips,https://imaginary.linux.plus/
duola
2021-08-16 00:26:25 +08:00
@liuxu 刚才看了一下,没发现有压缩图片的 API 。
falcon05
2021-08-16 00:50:01 +08:00
搞一个异步任务队列,转 tinypng
liuxu
2021-08-16 01:05:15 +08:00
@duola /fip 可以,其他也行,width 和 height 填原图长宽就行,png 有 compression 压缩率,jpg 有 quality

原图:



compression 为 6,stripmeta 为 1
duola
2021-08-16 10:42:25 +08:00
@liuxu 试了一下,可以用,谢谢!
abccccabc
2021-08-26 20:33:53 +08:00
@liuxu imaginary 这个库是 golang 的,有 php 的库吗?
liuxu
2021-08-31 10:44:22 +08:00
liuxu
2021-08-31 10:45:07 +08:00
@abccccabc 你直接 pecl 装 vips 就行 https://pecl.php.net/package/vips

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/795895

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX