透明图片的输出

 

该教程为水螅制作,未经允许,请勿转载

 

这个是在群里讨论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里使用


姓名:

评论:

验证码

CAPTCHA Image


sacross

2015-11-09 01:04:58

啊水螅大大……搜截图方法搜过来的……想了解下如果说我用这个方法储存了一个temp保存了几层我需要的图,那么这个temp内的是指针还是内容?如果我在第一个场景存了这个temp了,里面的数据在进入第二个场景会变么0 0不太清楚这个语言所以想打听下Orz

 

TOP

访客数: 794364
aa