2012-06-26 20 views
1

我正在用php + image magick使用amazon ec2 + s3编写一个简单的图像上传功能。我应该将上传的照片转换成一种格式还是保持其原始格式

该功能基本上接收图像,可能会压缩,并将其调整为3〜4种不同的尺寸,并且图像的访问频率比上传的频率要高。

不是数字图像方面的专家,我仍然决定是否将上传的图像转换为jpeg或保留其原始格式(jpeg,png,gif-gif将转换为静止图像以防格式获得转换)。

有两件事情需要考虑,我可以想到。

  1. 计算能力的使用(最好不要转换)
  2. 网络带宽(更好的转换)

任何建议?

+0

如果图片比上传更频繁,为什么不转换以节省带宽? –

+0

因为它们正在调整大小,转换可能无法节省空间。 – jjj

+0

仅供参考,您不仅要转换大小,还要将图像变平,转换为正确的色彩空间(是的,有时用户上传CMYK等)并删除(或保留)元数据。例如,对于小拇指,我们总是会去掉元(EXIF等),因为它有时比图像本身大。但在大型图像上我们保留元数据,特别是由于它可能包含版权。 –

回答

1

从我的经验,你想保留原始图像。如果您决定重新设计网站并在全球范围内更改图像格式,以后可能会需要它。如果您没有保留原件,在这种情况下您将无法重新处理它们。

Re。计算用电量 - 您不应该担心这一点。您只调整一次,然后在每次加载图像时,优化图像大小以补偿CPU和带宽。

+0

好点。更好地保留原始图像。但是您认为转换实际显示的图像会更好吗? – jjj

+0

在生产中,我们将它们转换为预设尺寸和质量进行显示,我们有大约十几种不同的尺寸。是的,当我们将主内容区域宽度从600px变为780px时,我们需要所有原始图像。然后我们使用原件创建新的主要尺寸。 –

0

改变用户上传的图片格式通常不是一个好主意。某些格式有自己的特点和优势,改变格式可能并不理想。例如,与gif或jpeg相比,png对透明度的支持更好。所以转换可能会导致你的图像看起来很奇怪。

0

png和gif在压缩某些类型的图像时更好,基本上是块状图形,而jpeg对于类似照片的图像更好。因此,根据您上传的图像类型,可能无法在节省带宽/存储空间方面获得收益。

要转换的计算将是昂贵的,如果你不是异步做它会减慢你的web服务器。

如果您使用的图像可以接受任何类型(jpg,png,gif),而不是我建议将它们保留为接收格式。

相关问题