Project1

标题: 求问rmmv有没有方法能够进行图片的合成(并覆盖保存)? [打印本页]

作者: 靖康之变KK100    时间: 2019-8-3 20:02
标题: 求问rmmv有没有方法能够进行图片的合成(并覆盖保存)?
立绘制作的时候把人物素体和服装分图片,那每次都要事件指令显示两张图片而且在菜单自定义之类的插件中无法添加,
加了也不能随游戏进度或者装备情况随时修改……就是各种无奈。

本人脚本插件小白一个,昨日突发奇想,如果能够做到把两张图片素材(素体和任意一套服装)直接合成一张然后保存覆盖掉原来的立绘,
这个立绘图片名字没有改变,也就是在游戏任何地方使用的张图片都改变了(但愿没缓存什么事),岂不美哉?

然后我就花了一整天来找这个方法。傍晚时分发现js有个canvas处理图片很厉害,我找了各种教程也勉强能把代码凑出来了
  1. bimg = 'background.png' ; fimg = '1.png' //设置背景和前景
  2. dw = 500 ; dh = 325 ;//设置画布宽高
  3. //创建画布:
  4. var pic = document.createElement("CANVAS");
  5. pic.ctx = this.canvas.getContext('2d');
  6. pic.canvas.width = dw ; pic.canvas.height = dh ;
  7. //在画布上绘制背景和前景:
  8. pic.ctx.drawImage(bimg,0,0,dw,dh);
  9. pic.ctx.drawImage(fimg,0,0,dw,dh);
  10. //导出:
  11. pic.canvas.toDataURL("background.png", 0.9);
复制代码

奈何rmmv好像并没有自带canvas,我又去下载了疑似是canvas的js文件当做插件加入游戏……


最后结果当然是自作聪明一败涂地灰着脸来求大佬了……那么这些到底能不能实现呢?

1.rmmv有没有自带的把几张图片合成一张并且保存为图片的方法?能不能做到覆盖保存?
2.能不能在rmmv中使用canvas?我拼拼凑凑出来的代码能不能用或者修改后能不能用?
3.缓冲机制可能会导致计划流产吗?如何防范?



作者: 在野月光族    时间: 2019-8-3 21:27
1、如果只是系统内拼接图片。那就将外部图片都导入到bitmap (数组?),然后新建一个自定义尺寸的空白bitmap再进行blt (组装图片)。如果你熟悉MV的Bitmap,这个很简单的。
2、如果要将拼接的图片作为新的图片文件导出到本机,那就...canvas你也会了,剩下的自行百度base64,然后调用a标签的download进行(下载)导出。太复杂就不说了,百度吧
作者: 靖康之变KK100    时间: 2019-8-4 01:22
在野月光族 发表于 2019-8-3 21:27
1、如果只是系统内拼接图片。那就将外部图片都导入到bitmap (数组?),然后新建一个自定义尺寸的空白bitmap ...

bitmap只学过RGSS3里的用法……对JS那些还是懵的状态。不过既然能内部解决就不用捣鼓canvas了,谢谢大佬




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