CSS Sprites 样式生成工具
Ghost 发表于 [2009-05-02 16:31]
学CSS布局的同学应该多少知道CSS Sprites(图片合并)技术,简单的说就是利用CSS的background-position属性,控制显示一张大图片的显示区域。例子可以看这里《 CSS Sprites: Image Slicing’s Kiss of Death》。
对于经常使用CSS Sprites的同学,不知道是否有跟我一样的烦恼,在写定位的时候,先在PS里量出大概的位置,然后再在FF里用 Firebug 进行微调,以达到实际需要的效果。
效率方面的问题比较严重,虽然在做合并图的时候大概的位置都已经心里有数,不过在写样式的时候也不太可能每次都能记得住正确的位置,特别是像我这种没啥记性的人,总免不了开着PS,时不时的量一下。更让我烦恼的是,原本性能就不高的电脑,开着个PS后运行起来就更慢了(至少一半内存被PS占用),而这时的PS只是用来量位置,真是有点大才小用了。
很巧在网上逛的时候看到了 赵玉开 写的一个 Css背景图合并工具 ,这个工具可以把许多的小图片合并成一张大图并生成样式,蛮不错的想法,只是并不真正实用。为什么这么说呢?因为一般情况下我们不会先切出小图再合并,这不符合工作习惯,我们大多数是在PS里直接保存合并后的图片,因为还有一个图片质量的问题。
受此启发,我写了下面这个工具 bg2css_1.4.1.air

目前版本是1.4.1,基本上已经可以正常使用,主要是想减少使用CSS Sprites技术时测量坐标及填写background-position定位这部分重复而枯燥的时间,提高工作效率。
程序名称:CSS Sprites 样式生成工具(bg2css)
版本信息:
v1.4.1 2009-3-21
=====================
+双击添加层
+拖动层、修改层大小
+显示层相关信息
+编辑层信息、删除层
+生成样式
+保存样式文件到桌面
+在线更新
+输出样式时可选是否输出宽高
+重置层
+层位置和大小微调
+修正了已知的一些bug
需要AIR环境,可到 Adobe站点 下载安装。
还有很多的想法没在这个版本中实现,后续再做更新,如果使用中有什么意见或建议,欢迎与我联系,我尽可能的改善这个工具。
如何获取最新版本:下载安装1.4.1版本后点击“检查更新”即可。
版本更新信息:
bg2css v1.5.0 2009-3-25
+图片放大预览
(fix)空值无验证
bg2css v1.5.1 2009-3-26
+图片放大培数可改
bg2css v1.6.0 2009-3-27

+边界验证
(fix)修改类名后放大失效
bg2css v1.7.0 2009-4-1
+保存层位置信息
bg2css v1.8.0 2009-4-7
+复制样式
+层列表,以方便管理
bg2css v1.8.1 2009-4-9

+一定范围的负边界
+复制选中层的样式
(fix)输出0时的显示
注意:保存的设置文件增加一个项,请在之前保存的xml里的“imginfo”节点下手动增加一个“margin”节点,值为“0”.
bg2css v1.8.2 2009-4-10

+公共样式部分可编辑
(fix)修改了部分界面
注意:保存的设置文件增加一个项,请在之前保存的xml里的“imginfo”节点下手动增加一个“gbstyle”节点,值为“”.
bg2css v1.9.0 2009-4-12

+复制当前层
(fix)读取设置后再保存出错
(fix)修改了部分界面
bg2css v1.9.1 2009-4-12
(fix)支持中文路径
bg2css v1.9.2 2009-4-13
+图片背景色可改
+快捷键删除层
+拖动更改图片
bg2css v1.9.3 2009-4-14
+文件保存时覆盖提示
(fix)修改图片拖动响应区域
bg2css v1.9.4 2009-5-2

+自定义保存路径
+单独复制宽、高、X坐标、Y坐标
+复制当前样式时类名可选择
(fix)修改默认层大小
(fix)拖入文件时检查类型
(fix)“关于“里的链接在浏览器窗口打开
bg2css v1.9.5 2009-5-2
(fix)保存时文件不能替换
bg2css v2.0 2009-5-12
+优化操作界面
+放大时定位到当前层位置
+图片放大不消锯齿
+图片放大6倍(用于原图过小的情况,大图片慎用)
(fix)图片放大后添加层再缩小信息出错
其它类似的工具:
将打包的小图以一定规则生成大图的 CSS 图片拼合生成器
使用ajax开发的 Sprite Creator
文章地址:http://www.cssforest.org/blog/index.php?id=129
《CSS Sprites 样式生成工具》采用的授权是创作共用的 “署名-非商业性使用-相同方式共享 3.0 通用许可”.
文章被分类到:bg2css














xhlv 在 496 日 之前 说:
佩服鬼还能写air,不过个人还是更喜欢用PS,选取、刻度尺或鼠标的坐标可以很快得到想要的数值,css中也只要复制一个样式改改background-position的值就可以了。
另外对于图标,按16×16或32×32的大小来摆放也可以减少很多获取数据的工作量,直接累加就可以了。
阿肆 在 496 日 之前 说:
这个还是习惯用手写,我就像个原始社会的人,不太习惯用智能化工具,呵呵。
可能是现在没有太大的项目要做,不然也会烦了,还在激情期吧。哈哈
opera 在 496 日 之前 说:
我也是习惯手写,ps嘛,一般在定位的时候都会取比图片大小稍微大一些的整数值,比如图片高为35px,我一般在ps中以50px为单位放置图片,这样在写css的时候基本就是位置*-50px,根本不用在ps中量。
bcpxqz 在 496 日 之前 说:
测量大小只用fireworks,选区方法功能很强的。
rates 在 496 日 之前 说:
现在好像非常流行这种将图片合并的工具阿
Ghost 在 496 日 之前 说:
写这个工具也是想在提高效率方面做下尝试,当然也不是说这工具就一定能起到什么作用,每个人习惯的方式不一样。
使用CSS Sprites并不只是那些很规则的ICON图,也有大小不一的按钮等等,对于有成熟规范的项目可能用处不大,对于活动类的页面,效果可能会较明显,是否真能提高效率,还得在实际工作中应用试试。
Jeanne 在 495 日 之前 说:
赞一个!试用了下,很好用哈!如果图片预览区的图片大小可调就更加完美咯:)
5457 在 495 日 之前 说:
目前还是手工制作阶段,关键是目前的自动生成工具都不太靠谱…
.!rain.kx 在 495 日 之前 说:
呃.好东西..
很强大.
学习写一下..
lin516 在 493 日 之前 说:
强,学习研究下!
charies 在 492 日 之前 说:
“因为一般情况下我们不会先切出小图再合并,这不符合工作习惯,我们大多数是在PS里直接保存合并后的图片”
我一般都是 先切除小图 再进行 合并~
个人做法 不知道 谁还和我一样
Andy 在 491 日 之前 说:
很失败没用过 CSS Sprites
可能是我很少切图的原因吧 呵呵
好久也去试试
潇洒 在 491 日 之前 说:
呵~ 先留个名。看起来不错。
有空下一个试试~ 为啥要用 AIR 开发呢?
Mandy 在 488 日 之前 说:
不错 这样方便很多
rainaxin 在 486 日 之前 说:
这个东西怎么说呢,看是用作什么,谁用,有价值是因为用对了地方,所以还是因人还有因环境而异。
寂静猴子 在 485 日 之前 说:
看到过好几次了,都没下载试过,这次下载了..
willyang 在 478 日 之前 说:
不错,赞一个,看到大家的留言感觉自己好久没上网了!真落后!鬼加油!
dudo 在 478 日 之前 说:
莫非也是裸奔一天?
福清 在 477 日 之前 说:
赞一个 收下
Honk 在 477 日 之前 说:
不错的工具,感谢分享
开心农场 在 476 日 之前 说:
我还真没有用过呢
不错的工具,感谢分享
福清 在 474 日 之前 说:
收藏备用。。。
MarVell 在 473 日 之前 说:
这个东西啊,优化图片质量,减少图片大小事最头疼的问题了。。。
如果再遇到临时往大图里面添加东西的话更是一个相当恶心的问题,总之麻烦多多啊。
关于自动生成工具方面确实不太靠谱,一些企业不还有自动套div的页面么,美名曰自动生成标准化页面。那出来的页子能要么?
Ghost 在 473 日 之前 说:
@潇洒 主要一点是支持MAC,再一点是开发的语言相对容易上手。
@MarVell 你清楚这个工具是做什么用的吗?
mayi 在 472 日 之前 说:
我觉得用处不大,我用的双22寸显示器.建议做前端开发的一定要双屏幕,现在显示器实在是便宜.
景裔 在 471 日 之前 说:
还是比较喜欢手写CSS,感觉心里踏实啊。下回修改自己也清楚
DeadFire 在 471 日 之前 说:
这篇文章每天自动发布一次?
Ghost 在 471 日 之前 说:
@DeadFire 有更新。
air 在 469 日 之前 说:
怎么下载链接还是1.41的?鬼
Ghost 在 467 日 之前 说:
@air 下载安装1.4.1版本后点击“检查更新”即可获取最新版本。
德克萨斯扑克 在 464 日 之前 说:
没用过…我去试试看
magie 在 459 日 之前 说:
刚安装完,还没有学会怎么用
蝎子 在 447 日 之前 说:
图片放大后能不能不要消除锯齿啊。。。
http://img365.imageshack.us/img365/2787/20090510144716.jpg
像这样反而看不清图标的边界了。
建议不消除锯齿像这样:http://img365.imageshack.us/img365/8859/20090510144742.jpg
方便划分层…
Ghost 在 446 日 之前 说:
@蝎子 下个版本解决。
超越CSS 在 444 日 之前 说:
这工具不错
JF 在 275 日 之前 说:
作者你好!我很喜欢用这个工具,一般用来制作导航菜单。可是工具只是方便提供了图片定位的坐标,关于float、a和hover等都要自己写。要是能把这个功能也加进去就真的太好了,再次感谢!
Ghost 在 274 日 之前 说:
@JF 这个已经不是这个工具要考虑的范围了。:)