Css Sprite,有时也称为雪碧图、精灵图,是每一个前端开都会遇到的问题,也是常见的小图片加载优化手段。相信各位同学都清楚其原理,具体就不赘述了。

之前一直有动机利用html5实现一个合成雪碧图的工具,方便小项目的快速开发,减少一些诸如开photoshop、fireworks等工具来合图的机械劳动,最近终于抽出时间将构思实现。

Go!Png介绍:

目前实现的功能如下:

  1. 支持图片文件拖拽
  2. 支持生成png图片与css文件
  3. 支持两种自动排列的模式
  4. 放大镜功能
  5. 磁力吸附对齐功能
  6. 工作状态导出功能,可以方便导出文件,在下一次操作通过拖放改文件来恢复工作状态(包括图片数据跟参数设置)
  7. 支持Mac(Chrome) :)

使用说明:

1.拖拽图片小文件到操作区域,如下图:

2.输入类属性设置与目标图片、css文件生成,如下图

3.生成的css文件是可以通过改变css模版来定制的

使用的模版函数是John Resig的Micro-Templating,
可以用的变量有:
  • x 图片的x坐标
  • y 图片的y坐标
  • w 图片的宽度
  • h 图片的高度
  • name 图片文件的名称(不带后缀)
  • absolute_path 绝对路径(自定义)
  • relative_path 相对路径(自定义)
x、y、w、h的解释如下图:
css模版的设置操作如下图:

4.生成目标图片、css后可以直接下载

点击download按钮即可完成下载:

5.工作状态导出

这个功能是可以将你目前的工作状态,包括图片的数据(图片、图片位置排列),参数设置(包括主页的参数设置与css模版设置),全部导出成一个文件,下次利用此文件便可复原工作状态。
导出如下图:
导入如下图:
即可复原:

原创文章转载请注明:

转载自AlloyTeam:http://www.alloyteam.com/2012/05/gopng-sprite-figure-synthesis-tool-another-html5-app/

  1. 蜗壳 2016 年 1 月 22 日

    出一个用于移动端的雪碧图工具吧!支持rem定位和background-size的!

  2. · 2015 年 12 月 18 日

    ····

  3. warden 2015 年 11 月 25 日

    是啊,怎么加间距····[可怜]

  4. calia 2015 年 10 月 23 日

    如果想在一个已经在用的精灵图上添加一个图标,而原来的精灵图中是有空白的,能不能把新的图标加到这个空白处而不是加到原有精灵图之外呢

  5. font-size 2015 年 6 月 29 日

    井底之蛙

  6. 3110 2015 年 6 月 3 日

    我其实更需要一个拼序列帧动画的工具,序列帧的图由于里面内容不同,可能大小不一,但我希望最终导出来的图大小是一致的,或者你们都用什么工具来做这件事情

  7. popeye 2013 年 8 月 9 日

    请问~demo生成的css外边要套一个_outer,为什么要这么写?

  8. bengle 2012 年 10 月 13 日

    好,很方便!但是怎么添加图片间距呢?直接挨在一起容易走光吧?

  9. Johnny 2012 年 8 月 24 日

    有个问题,我传白色的图片上去后就很难辨认出图片了。所以还是加一个切换背景颜色的功能吧!PS:工具很好用!

  10. GAOSHOU 2012 年 7 月 31 日

    腾讯请你们简直是一种浪费啊
    看DW里的插件 直接在DW 的CSS的面板CSS背景里直接显示图片 点击就自动填写坐标数值了。比那个BG2CSS更TM牛

    • iallai 2012 年 9 月 25 日

      表示完全不可能会用dw

    • a coder 2014 年 7 月 8 日

      看了这位“高手”的评论不禁莞尔,就你这点见识,北大青鸟出来的吧?专业切图工人?

  11. GAOSHOU 2012 年 7 月 31 日

    这东西不现实和不科学。人家都在DW写插件了。还用得着那么麻烦。还用这个点来点去的?

    • Freeloop 2012 年 9 月 12 日

      DW能跨平台么?

      • 匿名 2012 年 9 月 24 日

        Mac还是支持的吧

    • mdjhny 2014 年 3 月 18 日

      DW正版用得起么?

      • hidoos 2015 年 3 月 13 日

        赞!哈哈

    • a coder 2014 年 7 月 8 日

      人家这东西需要点来点去?你真的用懂了么?朋友平时还是多读点书开阔下眼界,你这样也只能当最底层劳动力一辈子,因为你只会无脑操作。

  12. eongoo 2012 年 6 月 20 日

    赞!能否提供将 sprite 导出 js 数组的功能,将每个图片的参数信息(left,top,width,height)存入一个 js 数组,如
    var d = [
    [307, 48, 88, 89],
    [307, 48, 89, 89],
    [307, 48, 91, 89,1],
    …..]
    甚至可以加入其他的自定义参数

    • TAT.Kinvix

      TAT.Kinvix 2012 年 6 月 21 日

      针对游戏我们会于一个专门的游戏精灵编辑器的

  13. Johnxy 2012 年 6 月 19 日

    的确省事多了

  14. NodeJs智能合并CSS精灵图工具IntelligentSpriter | Tencent AlloyTeam 2012 年 6 月 16 日

    […] 话说这排手上的项目里用到的图片都怎么合并,并不是不想合并,而是一个个图片去拼实在是太累了啊。另外桂总做的autosprite又还没成型,未能支持旧有项目;自己做的AutoSprites也是一个烂摊子——java写脚本功能的代码真不是一般的痛苦啊;至于炜哥的GoPng在线合图工具,说实话,这类需要人工定位图片的工具,我着实不喜欢。还是那句话,我可是个程序员呐,这种机械化无趣的工作就该交给电脑来完成,不然电脑是拿来干嘛的? […]

  15. NodeJs智能合并CSS精灵图工具IntelligentSpriter - imAtlas 2012 年 6 月 16 日

    […] 话说这排手上的项目里用到的图片都怎么合并,并不是不想合并,而是一个个图片去拼实在是太累了啊。另外桂总做的autosprite又还没成型,未能支持旧有项目;自己做的AutoSprites也是一个烂摊子——java写脚本功能的代码真不是一般的痛苦啊;至于炜哥的GoPng在线合图工具,说实话,这类需要人工定位图片的工具,我着实不喜欢。还是那句话,我可是个程序员呐,这种机械化无趣的工作就该交给电脑来完成,不然电脑是拿来干嘛的? […]

  16. 匿名 2012 年 6 月 7 日

    这个好像就是firework里面的切片工具什么的
    不过html5 就不需要开这些大型怪兽了。。。。。。

  17. 【转载】HTML5开发的在线雪碧图片合成工具GoPng_HTML5研究小组_HTML5教程_HTML5资源_HTML5游戏 2012 年 6 月 7 日

    […] 使用介绍:http://www.alloyteam.com/?p=1050 […]

  18. LYuShine 2012 年 5 月 24 日

    这个很不错啊····

  19. eongoo 2012 年 5 月 23 日

    很赞啊

  20. Aki_konata 2012 年 5 月 23 日

    的确是很实用的东西呢,无论如何作为使用者必须支持下的。

    • TAT.Kinvix

      TAT.Kinvix 2012 年 5 月 24 日

      多谢支持,可以给提提建议!

发表评论