有没有制作css sprites的好工具?
理想情况下,我想给它一个图像目录和一个引用这些图像的现有 .css 文件,并让它创建一个用所有小图像优化的大图像,并更改我的 .css 文件以引用这些图像。
至少我希望它获取一个图像目录并生成一个大精灵和将每个图像用作背景所需的 .css。
是否有任何好的 Photoshop 插件或完全成熟的应用程序可以做到这一点?
有没有制作css sprites的好工具?
理想情况下,我想给它一个图像目录和一个引用这些图像的现有 .css 文件,并让它创建一个用所有小图像优化的大图像,并更改我的 .css 文件以引用这些图像。
至少我希望它获取一个图像目录并生成一个大精灵和将每个图像用作背景所需的 .css。
是否有任何好的 Photoshop 插件或完全成熟的应用程序可以做到这一点?
Instant Sprite是我正在开发的浏览器内 CSS sprite 生成器。它真的很快,但没有其他一些功能那么多。它目前仅适用于 Firefox 或 Chrome,因为它使用 JavaScript FileReader 和 HTML Canvas 在 Web 浏览器中生成精灵而无需上传。
这将为您完成 90% 的工作:CSS Sprite Generator。您仍然需要自己编辑规则,但该工具将为您提供新 CSS 文件所需的代码片段。
现在有 Steve Souders 的 Sprite Me。只是尝试一下,它似乎工作得很好。
这是链接http://spriteme.org/,这是宣布它的博客文章。
ZeroSprites是一个 CSS 精灵生成器,旨在使用 VLSI 平面布局算法最小化区域。
Tonttu 是基于 Adobe AIR 的应用程序,它为创建强大的 CSS Sprites 图像提供了简单的界面。您可以指定 FiledWidth 和 FieldHeight 或对图像进行排序。
使用 Tonttu 桌面工具创建 CSS Sprites 图像
目前尚不清楚它是否会成为核心 ASP.NET 框架,但这里有一个用于 csssprites 的 Microsoft codeplex 项目:
http://aspnet.codeplex.com/releases/view/50869
如果你喜欢它 - 使用它 - 或者只是喜欢这个想法然后添加评论。我认为这将是 ASP.NET 框架中的一件好事。没有亲自使用它(我不得不自己发明轮子),但它得到了很好的评价。
它包括以下组件:
第二版中添加的功能:
未来版本正在考虑的功能:
只需使用http://sprites.scherpontwikkeling.nl/它也可以从网站 URL 生成精灵……您可以在开发网站后集成您的精灵。它非常易于使用;)
不是直接的答案,但对于我的开发人员和网络集成商,考虑简单地将每个精灵与 2 的幂对齐;例如 16 像素或 32 像素的网格。它使计算 CSS 文件中的偏移量变得更加容易。之间的所有空白都无关紧要,因为 gifd 和 png 格式可以很好地压缩它们。
Compass CSS 框架具有自动精灵生成功能。
如果你喜欢 Java,那么你可以使用 GWT 1.5+,它带有一个叫做“ ImageBundle ”的东西。GWT 编译器将为您处理所有令人讨厌的细节。您甚至不必编写任何 JavaScript 代码或编写任何 CSS。
这是一个通过 Photoshop 脚本将图像组合成 CSS sprites 的脚本。它不会按照您的要求制作精灵图,但如果它们的大小相同,它将以两个(2、4、8)的倍数组合图像。我更喜欢组合相似的图像(正常、悬停、选定、选定的父级),而不是将所有图像放在一个文件中。
如果你在 rails 上使用 ruby,有一个易于安装的库来生成 css sprites。
有一个名为 ActiveSprites 的新工具,它是 active_assets gem 的一部分。
Github:http ://bitly.com/eRTwU4
您使用 ruby dsl 来定义您的精灵,然后执行“rake sprites”并生成精灵和相应的样式表。
这是拉德!
这是一些示例代码,
# config/sprites.rb
Rails.application.sprites do
sprite 'sprites/sprite1.png' => 'sprites/sprite1.css' do
_'sprite_images/sprite1/1.png' => 'a.one'
_'sprite_images/sprite1/2.png' => 'span.two'
end
end
https://github.com/northpoint/SpeedySprite
该工具采用了一种新颖的方法,它将您请求的图像即时组装为 http 服务。这使得整个过程非常简单(无需预处理,随时更改图像):您启动服务,然后在 HTML 中引用您想要的任何图像:
<link href="css/my-images-dir/" rel="stylesheet">
<div class="my-image-name-here" />
因为它是动态的,您甚至可以从一组动态图像(例如缩略图页面)中制作精灵。虽然不支持 JPEG,但 PNG 和 GIF 可以正常工作。
我建议你使用Sprite Master Web。我会自动生成精灵表并为您导出 CSS 代码。它总是尝试使用高级算法生成最小的精灵表。
这是截图和youtube视频
这些工具都不符合我的要求,所以我编写了一个使用 Mark Tylers 的微型图像库 mtpixel(现在是mtcelledit的一部分)的工具、旋转、锐化、量化、分色、翻转(垂直和水平)、变换、rgb->indexed、indexed->rgb、边缘检测、浮雕、绘制多边形、文本等。
您所做的只是将一组图像作为 args 传递给它(支持 png、gif 和 jpeg),它会输出一个名为 sprite.png 的 rgb png 以及有用的图像切片数据到 stdout。我在 bash 脚本中使用它来拆分整个图像目录并输出切片数据以自动生成 css(希望最终使其能够用一些创造性的 sed/awk 自动替换现有的 img 标签)
小狗 linux 的二进制包将在这里:
http://murga-linux.com/puppy/viewtopic.php?t=82009
我的用例只需要将图像垂直拼接成一个新的 png,这就是它所做的一切,但我的源代码是公共领域的,mtcelledit 库是 gpl3。使用 mtpixel 静态链接,二进制文件 <100kb(动态链接时只有几 kb),唯一的其他依赖项是 libpng、libjpeg 和 libgif(以及使用官方 mtpixel 的 freetype,但我不需要文本支持,所以我注释掉静态构建中的 freetype 位)
随意修改为您自己的需要:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <mtpixel.h>
int main( int argc, char *argv[] ){
int i=0,height=0,width=0,y=0;
mtpixel_init();
mtImage *imglist[argc];
argc--;
do{ imglist[i] = mtpixel_image_load( argv[i+1] );
height+=imglist[i]->height;
if (imglist[i]->width > width) width=imglist[i]->width;
} while (++i < argc);
imglist[argc]=mtpixel_image_new_rgb(width,height);
imglist[argc]->palette.trans=0;
i=0;
do{ if (imglist[i]->type == MTPIXEL_IMAGE_INDEXED)
mtpixel_image_paste(imglist[argc],mtpixel_image_to_rgb(imglist[i]),mtpixel_brush_new(),0 ,y);
else mtpixel_image_paste(imglist[argc],imglist[i],mtpixel_brush_new(),0 ,y);
printf("name=%s;width=%d;height=%d;y_offset=%d\n",argv[i+1],imglist[i]->height,imglist[i]->width,y);
y+=imglist[i]->height;
mtpixel_image_destroy( imglist[i] );
}while (++i < argc);
mtpixel_image_save( imglist[argc], "sprite.png", MTPIXEL_FILE_TYPE_PNG, 5 );
mtpixel_quit();
return 0;
}
如果您使用的是 .net,请查看http://www.RequestReduce.com。它不仅自动创建 sprite 文件,而且还通过 HttpModule 以及合并和缩小所有 CSS 即时完成。它还使用量化和无损压缩优化 sprite 图像,并使用 ETags 和 Expires 标头处理生成文件的服务,以确保最佳浏览器缓存。设置很简单,只涉及一个简单的 web.config 更改。请参阅我的博客文章,了解 Microsoft Visual Studio 和 MSDN 示例库对它的采用。
我最近发现了这个工具:SpriteRight http://spriterightapp.com/
SpriteRight 是一个用于 Mac 的 CSS spritesheet 生成器,可让您导入现有的图像或样式表。使您的网站加载速度更快,降低带宽成本并节省时间。SpriteRight 甚至可以即时生成 CSS 代码。