在项目中使用texture packer 处理图片时候,出现一种情况,处理的图片PNG 的上边有一部分是空白的 ,而且尺寸是不规则的,通过texture packer 处理的时候,当把Fixed Size 中填上图片尺寸的时候,在预览的时候发现空白的部分跑到图片下方了,这样生成的图片肯定不符合要求。

最后的解决方式是:将Trim mode 选项选为None即可!

以下是TexturePacker 的一些设置的意义:

转载自:http://blog.csdn.net/azhou_hui/article/details/9113907

什么是TexturePacker?

>TexturePacker这个词从字面来说就是Texture(纹理) + Packer(打包)。它是一款把若干资源图片拼接为一张大图的工具。它由一位叫做Andreas Loew的老外开发。他的推特帐号是@CodeAndWeb

下载地址,http://www.codeandweb.com/texturepacker (这里有个破解版的,不过建议大家尽量买正版吧,尊重知识产权。http://download.csdn.net/detail/azhou_hui/5547485)

为什么需要TexturePacker?

>回答这个问题之前,说说题外话。

如果你是游戏程序员,你应该知道openGL载入纹理图片的时候,所用内存是会自动扩张到2的n次方的。比如,如果你的资源素材是10×10px,载入后,将会按16×16规格载入图片。如果资源素材是64×65,那么就会按照64×128载入了。假设资源是RGBA8888的图片格式来算,(255,255,255,255)代表(r, g, b, a),一个点就使用了8位×4=32位。相当于4个byte。按刚才最后一种情况,你浪费的空间是64×(128-65)×4 /1024 = 15K,别说我的内存你无所谓。。。移动设备上的游戏,内存还是吃紧。理论上,如果每一张图的长宽都恰好是2的n次方数值,那很完美,没有任何浪费。但是,你懂的。所以我们需要把很多小图拼接到一张大图里,比如(2048×2048)然后到代码中取其所需。这样,浪费掉的空间就很小了。

OK,你说你不懂openGL,那你想想网页设计师前台制作css的时候,为了提高载入速度,往往把很多小图拼接成一张大图,一次载入,减少I/O,提高速度。这个好懂吧。

所以不管怎么样,“拼大图”这个流程不可少。

如此就面临一个问题:你用什么东西来做这个大图?

文艺青年说他用photoshop。。。这一点我就不评论了。我倒是希望谁尝试ps去拼一次图以后再回来博客里评论一下。这种做法不现实。

普通青年用Zwoptex。。。曾经,我也是一名普通青年,但是后来用的人多了,Zwoptex开始收费了。收费不要紧,你好歹留个功能限制免费版呀。

so, we choose the TexturePacker.

TexturePacker有毛优点咩?

>TexturePacker有windows版。不是所有人都有条件用水果。另外它似乎取消linux版本了(确实没有意义,我很鄙视拿个linux图形桌面跑出来装逼的)。

>TexturePacker有免费功能限制版。(你若要求不太高,TexturePacker够你用)

>TexturePacker支持pvr格式。

>TexturePacker支持命令行集成。

>TexturePacker的兄弟软件PhysicsEditor同样是很好的物理建模工具。

如何获得TexturePacker?

>去官方网站下载。再发一遍地址。http://www.codeandweb.com/texturepacker (这里有个破解版的,不过建议大家尽量买正版吧,尊重知识产权。http://download.csdn.net/detail/azhou_hui/5547485)

如何使用TexturePacker?

>好吧,应该说,到这里开始才是文章该写的。以上仅是热身。我只会介绍一些超基本的功能,但是我相信这已经够你喝一壶了。

>认识TexturePacker的界面
Data Format:导出什么引擎数据,默认cocos2d,下拉列表中有很多,基本常用的引擎都支持了
Data File :导出文件位置(后缀名.plist)
Texture Format:纹理格式,默认png
Image format:图片像素格式,默认RGBA8888...根据对图片质量的需求导出不同的格式
Dithering:抖动,默认NearestNeighbour,(如果图像上面有许许多多的“条条”和颜色梯度变化)将其修改成FloydSteinberg+Alpha;
Scale: 让你可以保存一个比原始图片尺寸要大一点、或者小一点的spritesheet。比如,如果你想在spritesheet中加载“@2x"的图片(也即为Retina-display设备或者ipad创建的)。但是你同时也想为不支持高清显示的iphone和touch制作spritesheet,这时候只需要设置scale为 1.0,同时勾选autoSD就可以了。也就是说,只需要美工提供高清显示的图片,用这个软件可以自己为你生成高清和普清的图片。
Algorithm TexturePacker:里面目前唯一支持的算法就是MaxRects,即按精灵尺寸大小排列,但是这个算法效果非常好,因此你不用管它。
Border/shape padding: 即在spritesheet里面,设置精灵与精灵之间的间隔。如果你在你的游戏当中看到精灵的旁边有一些“杂图”的时候,你就可以增加这个精灵之间的间隔。
Extrude: 精灵边界的重复像素个数. 这个与间隔是相对应的--如果你在你的精灵的边边上看到一些透明的小点点,你就可以通过把这个值设设置大一点。
Trim: 通过移除精灵四周的透明区域使之更好地放在spritesheet中去。不要担心,这些透明的区域仅仅是为了使spritesheet里面的精灵紧凑一点。--当你从cocos2d里面去读取这些精灵的时候,这些透明区域仍然在寻里。(因为,有些情况下,你可能需要这些信息来确定精灵的位置)
Shape outlines: 把这个选项打开,那么就能看到精灵的边边。这在调试的时候非常有用。
AddSprite:添加图片Add Folder:根据文件夹添加图片
Publish:导出资源文件(.plist和png)

texture packer 处理图片空白的问题相关推荐

  1. Texture packer在制作图集中的优化方法

    免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...

  2. 在 cocos2d 里面如何使用 Texture Packer 和像素格式来优化 spritesheet

    原文链接:http://www.cnblogs.com/andyque/archive/2011/03/18/1988097.html 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网 ...

  3. Texture Packer 优化Spritesheet 的使用

    (zhuan zi: http://www.cnblogs.com/andyque/archive/2011/03/18/1988097.html) (译)在cocos2d里面如何使用Texture ...

  4. cocos2d如何使用Texture Packer并优化spritesheet

    原文地址:http://www.cnblogs.com/andyque/articles/1988097.html 前言:这篇文章是我翻译的第一篇关于cocos2d的文章,我在翻译的时候尽量按原文意思 ...

  5. Cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

    文章原来出处:http://www.raywenderlich.com/2361/how-to-create-and-optimize-sprite-sheets-in-cocos2d-with-te ...

  6. 将Texture Packer制作的.pvr.ccz和.plist文件还原为多个原图 -- 使用说明文档

    1.准备 1.安装 TexturePacker 2.安装python 3.安装Pillow-2.1.0.win-amd64-py2.7.exe 2.PVR转PNG.bat的使用 把 xx.plist和 ...

  7. [译]在cocos2d里面如何使用Texture Packer和像素格式来优化 spritesheet

    免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...

  8. spine 导出纹理_Spine 纹理打包Texture packing_官方文档中文版

    马上注册,加入CGJOY,让你轻松玩转CGJOY. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 本帖最后由 笑虾 于 2014-10-7 20:45 编辑 欢迎入群  Spine2D骨骼动 ...

  9. Spine之六——纹理打包Texture packing

    Texture packing总述(Overview) Spine 能帮你把分散的图片打包成一张完整的纹理贴图集或精灵表(spritesheet)以便在运行时更有效率的渲染.Spine 的纹理打包器( ...

  10. Text Mesh Pro 1.4.0实现图片组合伤害数字

    一.前言 本文主要涉及到Text Mesh Pro的精灵做为字符功能的使用.在RPG游戏中经常会见到由艺术字组成的伤害数字,比如DNF,各种页游的伤害数字,而利用Unity的Text Mesh Pro ...

最新文章

  1. Mirror, Mirror,What do I see、一切都是投射
  2. c++连接oracle数据库程序,无法从c++程序连接到我的oracle数据库
  3. 使用Skywalking实现全链路监控
  4. 键盘各个键对应的ASCLL值
  5. matplotlib(四)核心模式以及注意事项
  6. 由.def文件生成lib文件[转]
  7. Python docs
  8. Fullpage参数说明
  9. 一家典型的云原生企业,如何在创业早期数次“弯道超车”?
  10. asp.net AJAX 验证用户名是否存在 -Jquery
  11. python计时器timeit返回秒数_一日一技:Python中的timeit()方法
  12. 应用安全 - 代码审计 -Java
  13. VsCode开发Java插件集合
  14. eclipse环境变量的配置
  15. Exchange 2003 反垃圾邮件
  16. 4-17 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试类,进行测试。
  17. Vulkan 究竟是什么
  18. 《完美幻灯片设计的黄金法则》
  19. JVM内存结构和垃圾回收机制
  20. vue 调用移动录像_Vue 莹石摄像头直播视频实例代码

热门文章

  1. SQP(序列二次规划中的Marotos效应)
  2. 中国剩余定理证明及代码实现
  3. 云计算OpenStack环境搭建
  4. 网络编程学习_TCP协议
  5. Cabbage教学(1)——IO和变量
  6. 一款值得使用的会议室管理软件【会议预订小程序】
  7. 创业者两大特征:喜欢折腾与坚持不懈
  8. 自助缴费终端无线联网方案
  9. Android平台的音乐资源管理与播放
  10. 《回炉重造》——泛型