标签:imagemagick image-processing gd php
我有一个网站,用户可以在其中保存其个人资料图片(头像).
我想在加载图像时对其进行一些优化.
我的意思是,这是头像图片,不需要全分辨率,也不需要很大的尺寸.
我能做什么?我一直在想:
>调整大小
>质量低
可能:
>将其转换为GIF
>颜色填充为透明PNG
有一些比GD更好(更简单)的库可以做到这一点吗?
非常感谢!
解决方法:
GD是如何做到的.这听起来像是一个简单的操作,但是如果要执行此操作,则确实有很多因素需要正确处理.总而言之,这需要数百行代码来处理所有事情.
我的建议是,尽管您可能希望调整图像的大小(如果使用JPEG,则需要进行有损的重新压缩),但将其转换为GIF是一个坏主意.您不知道源类型是什么,因此这样做很成问题.
这是我推荐的流程:
1)将图像调整为输出格式.如果需要,也可以在此处强制设置裁剪宽高比.
2)确定原始信号源模式:
> 8位索引(GIF / PNG8):另存为PNG8(格式通常小于GIF).
> 16-24位:另存为JPG.质量取决于您,但是70%是一个良好的基准.
> 32位(PNG24):另存为PNG24,请注意保持透明度.
注意,此解决方案几乎销毁了所有“动画”的gif,但是…这就是您尝试调整动画gif大小时发生的情况.
虽然…我也强烈建议您不要将其作为一个单独的步骤进行,并删除原始文件.这种事情只会在以后咬你.
如今,磁盘空间很便宜……以更好的格式(甚至以2K x 2K分辨率)存储原始格式,然后创建可满足您所需分辨率/质量并缓存结果的图像服务会更好.
标签:imagemagick,image-processing,gd,php 来源: https://codeday.me/bug/20191208/2089478.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。