2009-09-10 101 views
0

我有一大组我希望在页面上显示的缩略图(超过200个)。我想使用CSS精灵来加载它们以最大限度地减少HTTP请求。我认为把它们放在一个大文件中是一个坏主意,但将它们分成大约6个40-50缩略图文件应该很好。基于颜色创建CSS精灵?

所有的缩略图都是相当低的颜色(可以减少到256色而没有质量下降),但总的来说,所有的缩略图都覆盖了更多的颜色。

那么,有没有简单的方法来根据它们的颜色对它们进行分组?将每组文件放在单独的文件夹中都很好,因为我可以在稍后与ImageMagick或在线精灵工具缝合在一起。但在一个CSS中完成所有这一切都会很好。

更新:按颜色分组的原因:
这样做是为了节省更多的带宽。如果我有10个大多蓝色缩略图,10个绿色和10个红色,我可以将它们组合成3个图像,每个图像减少到256个颜色。如果混合缩略图,则缩小至256色会使图像质量变差。

+1

出于好奇,你为什么要按颜色对它们进行分组?你在做些什么吗? – 2009-09-10 11:23:55

+0

有一个名为ImageSorter的程序,你可以通过谷歌搜索,然后在互联网存档 - 它会按照颜色直观地排列照片,但不会执行任何gif颜色计数/优化分组。这实际上是一个有趣的软件。 – 2009-09-10 11:53:15

+0

我认为你在思考问题。 – nickf 2009-09-10 13:14:24

回答

0

那么我做了一些测试,手动抓取一个“色调”的样本,并将其与刚拍摄第一张N图像创建的蒙太奇相比较。只有几千字节的差异,在我找到PNGcrush后减少到大约30个字节。 Fanastic工具!

所以总之,我的疯狂的想法已被证实。 :p

0

首先,我建议不要担心太多,并保存为24位PNG。看起来图像变得越来越大,但如果缩略图很小,你可能会发现目前正在使用的带宽很大,只有http头文件会消失,你可以使用它使您的图像看起来更好。然而,如果你想让这个过程自动化,你可以尝试计算出平均颜色(接近这个的一种方法是将它们调整为1x1,然后查看该像素的rgb颜色)。一旦你的图像有颜色,转换为hsv并按照色调排序。然后,您可以根据该排序顺序将它们捆绑在一起。我其实没有尝试过,但可能会产生可接受的结果。

调整打包图像的数量也会影响输出质量。如果每个文件放置30个图像时它很糟糕,请尝试25并查看它的差异。其实,想想文件数量可能会更聪明...

  • 将它们全部放到一个文件中。
  • 它看起来不好,因为没有足够的颜色?
  • 添加一个额外的文件并在所有文件中均分。转到第2步。
0

现在,这只不过是理论上的夸夸其谈,但是,据我所知,动画GIF支持每帧不同的调色板。理论上,您可以将每个图像放置在动画的单独框架上(使该框架的大部分都保持透明),并将帧之间的暂停时间设置为1ms。将动画设置为仅经历一次,并且可以(可能)具有一个有效的CSS精灵,每个图像的精简度降低到256色。

就像我说的,理论上的blabbering。