`

PngMate使用教程1(转)

阅读更多

PngMate使用教程

JAVA手机网[www.cnjm.net]

PngMate是一个非常实用的命令行图像转换工具,它提供的大部分功能几乎就是为了开发手机游戏而量身定制的。

JAVA手机网[www.cnjm.net]

下载PngMate

PngMate有以下一些功能特点:

JAVA手机网[www.cnjm.net]

1 去掉PNG中的一切冗余数据,在不影响图像质量的前提下极限压缩PNG图片,经验证生成的PNG比使用ImageOptimizer等优化工具优化过的PNG图片还要小
2 可以任意指定输出PNG图片的颜色数,以牺牲图像质量为代价进一步缩小PNG图片
3 可把动画GIF的多帧自动提取出来生成平铺的单张PNG
4 也可以切分输入的单帧图片成为多帧
5 可以对帧序列进行复杂的操作
6 可以把切分图片后的生成的帧序列重新生成动画GIF

JAVA手机网[www.cnjm.net]

7 可以针对每帧进行放缩、切割等操作,且可以自动运算以进行最大限度的切割
8 PngMate是命令行工具,可以轻易实现批处理或整合到工程创建脚本中
9 其它小的特色,如改变透明背景色,在帧上加注编号等

PngMate是命令行工具,和大部分人习惯使用的有界面的的软件有所不同,下面向大家介绍一下PngMate的典型使用方法。

JAVA手机网[www.cnjm.net]

为了在任何一个目录下面都能执行PngMate,我建议大家把PngMate.exe放在C:\Windows(如果是Win2K则是C:\WinNT)这个目录下面,这样最简单,什么也不用设置。当然也可以在"控制面板->系统->高级"里面把PngMate.exe所在的目录加入到环境变量PATH里面去,这样效果是一样的。

弄好以后,就可以使用"开始->程序->附件->命令提示符"或者"开始->运行->输入cmd"打开一个命令行窗口来使用PngMate了,在命令行窗口的命令提示符后输入pngmate,然后回车,看看是不是有中文帮助出来,如果没有,可能是你的机器没有安装JRE(Java运行环境),因为PngMate是用Java开发的。那么去下载一个JRE(要1.4或更高版本才行)安装上就应该可以了。JRE可以在这里下载。


通常我们制作手机游戏中的动画时,都是用ImageReady等工具先做成动画gif,因为这样可以看到动起来的效果。可是J2ME并不支持动画gif,所以只好在做完以后把gif的每一帧排列到一张大的png图片上,然后在程序里面再切割png来显示成一帧一帧的效果。这个把gif转成png的过程虽然没啥难度,不过每次每次的重复弄,还是挺麻烦的。用PngMate就简单了,比如下面的例子:

JAVA手机网[www.cnjm.net]


pngmate boy.gif boy.png

boy.gif

boy.png

ACDSee中看到的boy.png

JAVA手机网[www.cnjm.net]




生成的图片默认都是有透明色的,如果你用ACDSee等软件打开PngMate生成的图片,会发现透明的部分显示的是绿色,不要担心,实际在J2ME里绘制图片的时候,绿色的背景是不会出现的。在大多数情况下,绿色背景能很好的和画面中的有效部分区分开,哪里透明哪里不透明让你一目了然,不过有些图片—比如树木—里面本身有不少绿色的部分,这个时候用ACDSee看上去可能就和绿色的背景融为一体了,那么我们可以用-trans <RRGGBB>来改变透明色的背景,比如使用洋红色FF00FF:

pngmate boy.gif boy1.png -trans FF00FF

JAVA手机网[www.cnjm.net]

boy1.png

ACDSee中看到的boy1.png



boy.gif里面第三帧实际上和第一帧是一样的,在内存寸土寸金的J2ME程序中,我们怎么能容忍这样的浪费?好,我们用帧序列处理命令delete命令来把多余的帧删掉,不过要记住在PngMate中,帧是从0开始编号的,也就是说第三帧的编号是2,因此:

pngmate boy.gif boy2.png -delete 2

JAVA手机网[www.cnjm.net]


boy2.png



boy.gif是64x64的图片,可是里面的小男孩实际上的大小却没有那么大,png文件是压缩过的,所以透明的空白部分在png文件中增加不了几个字节,但是可以想见,在游戏的运行时刻,内存中保存的肯定是未压缩的像素数组,那么这些空白部分就要消耗实实在在的内存!因此把这些空白边界切掉绝对是有实际意义的,那么我们就用PngMate的crop功能来把输入图片的有效部分切出来:

pngmate boy.gif boy3.png -delete 2 -crop 48x52+8+10

boy3.png



不过这样好像还是有一些空白可以切掉,但是用目测的方式一个像素一个像素的调整确实太费劲了,如果能自动运算找出包含所有有效像素的最小矩形那是最好不过的,pngmate非常体贴的也帮你想到了这点哦!只要采用贪婪切割策略就可以了:

pngmate boy.gif boy4.png -delete 2 -crop greedy

JAVA手机网[www.cnjm.net]


boy4.png

JAVA手机网[www.cnjm.net]


分享到:
评论

相关推荐

    PngMate图片转换精灵

    在使用PngMate时,需要注意的是,命令行工具通常需要一定的学习曲线,特别是对于那些不熟悉命令行操作的用户。然而,一旦掌握了基本的命令和参数设置,就能享受到它带来的高效和灵活性。对于初学者,可以参考官方...

    pngmate(png图片处理软件)

    7. 工作流程整合:在J2ME游戏开发中,PNGMate可以无缝融入到开发流程中,与图形编辑工具如Photoshop或GIMP配合使用,形成一个高效的工作流,从而提升开发效率。 8. 跨平台兼容:尽管主要服务于J2ME,PNGMate可能也...

    pngMate工具

    1. 安装pngMate:根据你的操作系统,下载并安装对应版本的pngMate。 2. 执行命令:通过终端或命令提示符,定位到含有PNG图片的目录,并输入pngMate命令加上相应参数。 3. 查看结果:优化完成后,新生成的PNG文件会...

    图像转换工具PngMate

    1. **命令行界面**:PngMate通过命令行接口运行,这意味着用户可以通过编写脚本或集成到构建系统中,实现批量自动化处理大量图像资源。这对于开发者来说,极大地提高了工作效率。 2. **图像格式转换**:PngMate支持...

    pngmate-gif2png

    使用`pngmate-gif2png`,你需要具备基本的命令行操作知识,例如在命令提示符窗口中定位到工具所在的目录,并输入相应的命令。基本使用方法通常是输入`PngMate.exe input.gif output.png`,其中`input.gif`是源GIF...

    PNGMate-开源

    PNGMate是用于PNG和Animated GIF(gif89a)图像的命令行工具,专为移动游戏开发商和美术师设计,具有以下功能:优化/缩小PNG,减少颜色,在ani-gif和平铺的png之间转换,基于平铺调整大小和裁剪等

    手机游戏软件动画编辑器

    将GIF转换为PNG序列,可以让开发者分别处理每一帧,从而优化颜色使用,减小文件大小,这对于手机游戏的性能优化尤其关键,因为手机设备的内存和处理器资源相对有限。 "手机游戏软件动画编辑器"的PngMate.exe程序...

    PNG制作帮手

    使用PngMate时,用户只需导入GIF文件,软件会自动分析并分割出每一帧,保存为PNG格式。这个过程可以极大地简化开发者的任务,让他们能专注于游戏或应用的其他核心功能。对于需要创建动态效果或交互式界面的开发者来...

Global site tag (gtag.js) - Google Analytics