我正在使用 amazon ec2 + s3 使用 php + image magick 编写一个简单的图像上传功能。
该功能基本上接收图像,可能会压缩,并将其调整为 3~4 种不同的大小,并且图像的访问频率高于上传的频率。
我不是数字图像方面的专家,我仍在决定是将上传的图像转换为 jpeg 还是保留其原始格式(jpeg、png、gif - gif 将转换为静止图像,以防格式被转换)。
我能想到的有两点需要考虑。
- 计算能力使用(最好不要转换)
- 网络带宽(更好地转换)
有什么建议吗?
我正在使用 amazon ec2 + s3 使用 php + image magick 编写一个简单的图像上传功能。
该功能基本上接收图像,可能会压缩,并将其调整为 3~4 种不同的大小,并且图像的访问频率高于上传的频率。
我不是数字图像方面的专家,我仍在决定是将上传的图像转换为 jpeg 还是保留其原始格式(jpeg、png、gif - gif 将转换为静止图像,以防格式被转换)。
我能想到的有两点需要考虑。
有什么建议吗?
根据我的经验,您希望保留原始图像。如果您决定重新设计网站并在全球范围内更改图像格式,您以后可能需要它。如果您不保留原件,您将无法在这种情况下重新处理它们。
关于。计算能力的使用——你不应该担心这个。您只需调整一次大小,然后在每次加载图像时对 CPU 和带宽进行优化图像大小补偿。
更改用户上传的图像格式通常不是一个好主意。某些格式有自己的特点和好处,改变格式可能并不理想。例如,png 比 gif 或 jpeg 对透明度的支持更好。因此,转换可能会导致您的图像看起来很奇怪。
png 和 gif 更适合压缩某些类型的图像,基本上是块状图形,而 jpeg 更适合于类似照片的图像。因此,根据您上传的图像类型,可能无法节省带宽/存储空间。
转换的计算成本很高,如果您不异步执行它,它会减慢您的 Web 服务器。
如果您对图像的使用可以接受任何一种类型(jpg、png、gif),那么我建议您将它们保留为接收到的格式。