Compression JPEG:尺寸与压缩

Compression JPEG:尺寸与压缩,compression,jpeg,Compression,Jpeg,这里有一个非常简单但具体的问题: 我并不完全熟悉压缩图像的JPEG标准。当X维度(宽度)非常大,Y维度(高度)非常小时(反之亦然),或者当两者几乎相等时,它是否会创建更好的图像(即,文件大小更小,质量相似) 我的实际用途是CSS精灵。如果一个网站由数百个CSS精灵组成,那么最好将精灵文件的大小最小化,以帮助用户在较慢的互联网上工作,并减少服务器负载。如果JPEG标准在一条水平线上运行得很好,但是垂直移动需要更多的复杂性,那么100个16x16 CSS精灵的图像为1600x16是有意义的 另一方面

这里有一个非常简单但具体的问题:

我并不完全熟悉压缩图像的JPEG标准。当X维度(宽度)非常大,Y维度(高度)非常小时(反之亦然),或者当两者几乎相等时,它是否会创建更好的图像(即,文件大小更小,质量相似)

我的实际用途是CSS精灵。如果一个网站由数百个CSS精灵组成,那么最好将精灵文件的大小最小化,以帮助用户在较慢的互联网上工作,并减少服务器负载。如果JPEG标准在一条水平线上运行得很好,但是垂直移动需要更多的复杂性,那么100个16x16 CSS精灵的图像为1600x16是有意义的

另一方面,如果JPEG标准在水平方向上工作非常复杂,但很容易从一行移动到另一行,则可以通过使图像为16x1600来生成更小的文件或具有更高的质量


如果最佳压缩发生在图像为完美正方形时,则您希望最终图像为160x160

MPEG/JPEG分块机制(非常轻微)支持图像大小为每个维度中压缩块大小的精确倍数。然而,除此之外,格式将不关心块是垂直的还是水平的

因此,对你的问题的直接回答是“正方形和任何东西一样好”,只要你的精灵可以轻松地分割成JPEG压缩块(只要确保它们是8、16、24或32像素宽,你就可以了)


然而,我想更进一步地说,对于“大多数”Spit,如果初始主图像是GIF而不是JPG,则图像尺寸会更小,分辨率也会更清晰,如果可以使用较小的调色板,情况会更糟。考虑一下为什么你需要JPG来支持“数百个精灵”。

看起来JPEG的压缩比不受图像尺寸的影响。然而,看起来你的维度应该是8的倍数,但是在你所有的例子中,你的维度都是16的倍数,所以你应该在那里


如果我没记错的话,当相同的颜色出现在水平拉伸中而不是垂直拉伸中时,PNG(无损)运行得更好。你为什么要把你的精灵做成JPEG?如果它们是有限的颜色集(如果您有16x16个精灵,无论是否设置动画,这很可能),PNG实际上可能会产生更好的文件大小和完美的图像质量。

几乎与我完全相同,但一分钟之前:(实际上,我想到JPEG的唯一原因是它比GIF提供了更好的颜色深度。当我想要图像时,我通常倾向于JPEG,当我想要动画时,我倾向于GIF。只有当我需要半透明度时,我才倾向于PNG。否则它太大而不实用。但对于精灵,我想你是对的,GIF应该足够了。有什么想法吗她的GIF更喜欢垂直或水平,或者根本不在乎?GIF格式根本不在乎。你可以用任何最方便的格式创建图像。我不认为1个精灵高、1000个精灵宽的图像很容易处理,所以我还是大胆地说“正方形和任何东西一样好”.见鬼,我会给你一分,因为我在钱上是对的!:-)