Project1

标题: 是否有办法通过代码对两张图片进行“合并” [打印本页]

作者: HM495    时间: 2022-11-15 14:43
标题: 是否有办法通过代码对两张图片进行“合并”
需求是这么个情况
以立绘换装功能来说,假设我将资源拆分成裸模+衣服
那么我在对图片进行透明度操作时(例如渐隐过程中),会因为衣服变得透明而看见底下的裸模
这个表现效果是我想避免的
是否能通过代码先对两个图层进行合并,再进行对合并完的图层进行透明度操作呢?

我知道可以通过PS手动合并实现
但是换装这种东西,部件一多,排列组合进行枚举资源量会非常庞大,不太现实
所以想问问能否通过代码实现合并图层的功能
作者: apple5740    时间: 2022-11-15 17:27
本帖最后由 apple5740 于 2022-11-15 17:38 编辑

这个效果会是引擎自带的人物生成器,纸娃娃系统的样子吗?
另外合并的功能,我好像看到系统有自带的生成快照的方式。。
不知道可以利用吗?在 rmmz_core 的Bitmap.snap
当两个图层融合成功之后,生成快照,然后 截取bitmap的人物部分,来达到需求。
然后 引擎自带的合成方式:
合成方式(0:正常,1:叠加,2:正片叠底,3:滤色)
显示图片:$gameScreen.showPicture(图片编号,图片名字,原点位置,x,y,宽比例,高比例,透明度,合成方式)
感觉效果都不太理想。。

系统自带的人物生成器,我再看了一下。。它会有固定的姿势作为身体,然后切换不同的头像,来避免两个图层融合的情况。
作者: HM495    时间: 2022-11-16 14:23
apple5740 发表于 2022-11-15 17:27
这个效果会是引擎自带的人物生成器,纸娃娃系统的样子吗?
另外合并的功能,我好像看到系统有自带的生成快照 ...

core里面相关的代码 实在看不懂 能力有限
跟引擎自带的那个合成无关,本质还是两张图片,需求是合并成一个新的图层

我唯一能想到的思路就是像自带的TextPicture插件那样
先创建一个临时窗口,把图片放进去,然后把窗口的bitmap拷出来
但是Window_Base好像没有drawImage的方法,不知道怎么处理
作者: apple5740    时间: 2022-11-16 17:51
HM495 发表于 2022-11-16 14:23
core里面相关的代码 实在看不懂 能力有限
跟引擎自带的那个合成无关,本质还是两张图片,需求是 ...

drawImage 这个方法我没用过,是bitmap.context.drawImage的方法吗。
如果是的话。。你试试找到一个Window_Base 获取它的contents,
这个contents是一个bitmap。
最近这几天在学这个。。。也不是很理解
作者: tseyik    时间: 2022-11-16 18:24
本帖最后由 tseyik 于 2022-11-16 18:29 编辑

https://forums.rpgmakerweb.com/i ... doll-system.150258/
KC_CompositeBitmaps - 分層圖像(人臉、SV 精靈等)+ 紙娃娃系統演示
https://drive.google.com/file/d/ ... GtHkn9aqueOObn/view




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1