flickr 到底用的什么缩放图片方式,其缩略图生成得如此完美?

2017-06-20 15:07:41 +08:00
 Reign
flickr 的缩略图生成得非常完美,锐化合理,图片显示很清晰,基本能够把大图的细节都展示出来,我个人用 php 自带的 GD 库和 phpMagick 缩放了一下,和 flickr 比相差甚远,最差的是 imagecopyresampled 缩小图片,生成的缩略图模糊且粗糙,细节光泽完全没有,其次是 phpMagick 的 lanczos filter,效果还行,耗时较长,最好的是 phpMagick 的 sinc filter,效果还行,耗时最长,但还是比不上 flickr 的缩略图,V 友们知不知道有没有一种能够接近 flickr 缩略图生成方式的插件 or 代码,phpMagick 以何种方式缩小图片最能还原原图细节?因为目前产品是图片类型,对细节要求比较高
2529 次点击
所在节点    程序员
5 条回复
raptium
2017-06-20 15:16:21 +08:00
我记得效果和 Photoshop 里的 USM 锐化 差不多
reus
2017-06-20 15:20:30 +08:00
google "flickr image resize algorithm"
pubby
2017-06-20 17:43:32 +08:00
以前对着 flickr 测试过很多次,可以做到画质和大小很接近,用的 ImageMagick

convert input.jpg -size 800x -type TrueColor -thumbnail 500x -sharpen "1x1" -sampling-factor "1x1,1x1,1x1" -quality 90 output.jpg


如果图片原始分辨率很大,就 -size 800x 加快速度
比如缩放到 500 宽,那就 -size 800x 采样

-sharpen "1x1" 需要根据条件来判断是否采用:
根据我的经验 原始面积 /目标面积 >=4 就需要开启锐化
DavidSheh
2017-06-21 11:15:04 +08:00
flickr 官方有篇文章介绍使用 GPU 实时调整图片大小的文章,你可以看看,链接:
http://code.flickr.net/2015/06/25/real-time-resizing-of-flickr-images-using-gpus/

友情提示:打开链接需要翻墙,用 host 文件好像不能打开,得用 VPN 才行。
nicoljiang
2017-06-21 15:15:11 +08:00
以前我做过。
我觉得这里可能有底层技术的差别,但是其实还有很多是你的策略可以掌控的。
比如我以前的策略,就是每缩小到一个什么级别,锐化程度就提高一点,清晰度也提高一点。
最终可以保证非常小的图也有很好的细节。当然或许跟 Flickr 相比可能还有差距,但肉眼绝对看不出来了(我对比过)。
另外以前在模仿新浪微博的水印的时候也是,为了保证各个尺寸的图片都拥有大小合理且清晰的水印图,实际上做起来的策略不简单的。

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

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

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

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

© 2021 V2EX