标题: 关于透明图片的输出
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2008-3-17 00:07  资料  短消息  加为好友 
关于透明图片的输出

这个是在群里讨论D做的纸娃娃系统怎样输出背景透明的图片的一些实验结果,因为kr输出的bmp图片是有通道的,所以只要输出图片的那个层是背景透明的,输出的东西就是背景透明的,目前D是用pilecopy输出baselayer,因为所有layer是基于baselayer建立的,所以可以一次输出所有图层内容在一张图片上,但是问题在于baselayer背景肯定是实心的。
我实验了下,通过依序把所有图层的信息用operateRect覆盖到一个templayer上可以实现背景透明的图片输出,代码如下:
function test()
{
var temp = new Layer(kag, kag.fore.base);
temp.setImageSize(800, 600);
temp.operateRect(0, 0, kag.fore.layers[6], 0, 0, 800, 600);
temp.operateRect(0, 0, kag.fore.layers[7], 0, 0, 800, 600);
temp.operateRect(0, 0, kag.fore.layers[8], 0, 0, 800, 600);
var pa = System.exePath + "/out/ss.bmp";
//我只是实验,就规定了导出图片名……
temp.saveLayerImage(pa, "bmp");
}

输出的bmp32因为是带通道的,可以直接在kr里使用






KX3游戏制作组
顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.020392 second(s), 7 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示