我们在网站内的很多地方都使用图片:
以此类推。
我有一个控制,以确保一个图像不超过5mb。但是,加载页面需要很长时间。
我们使用Ruby来生成API,并将其置于API之上。我们已经做了很多优化,我们开始使用CDN来降低js文件的负载。
图像是现在唯一的问题。我不想使用paperclip Gem,因为我们已经使用了dragonfly。
我可以使用一个背景过程来处理每一个上传的图像,但我寻求一个更干净和方便的方式。
发布于 2015-02-15 14:56:52
我推荐ImageMagick来完成这项任务。您可以删除EXIF头和其他无关信息,以使用-strip选项减少文件大小。
convert input.jpg -strip output.jpg或使用mogrify一次完成所有图像,如
mogrify -strip *.jpg 您还可以指定用于减少文件大小的较低质量,如下所示
mogrify -quality 70% *.jpg不过,我发现更好的选择是指定最大文件大小(在kB中),并让ImageMagick在不超过该文件大小的情况下计算出它可以达到的最佳质量,如下所示:
mogrify -strip -define jpeg:extent=100kb *.jpg这将剥离EXIF信息,并将文件大小减少到最大100 to。
如果您想要用Python做类似的事情,我写了一个很好的答案-- here。它对满足最大大小要求的JPEG质量进行二进制搜索。
发布于 2015-02-14 11:31:18
可以使用ImageMagick批处理调整大小。
mogrify -resize 50% *https://stackoverflow.com/questions/28515128
复制相似问题