我有一个网站,用户可以在其中保存其个人资料图片(头像).
我想在加载图像时对其进行一些优化.
我的意思是,这是头像图片,不需要全分辨率,也不需要很大的尺寸.
我能做什么?我一直在想:
>调整大小
>质量低
可能:
>将其转换为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分辨率)存储原始格式,然后创建可满足您所需分辨率/质量并缓存结果的图像服务会更好.