亲爱的互联网用户,您好
我对有趣的剧本有一个想法,但我正在努力找到实现我想要的最好方法。
想法很简单。更换像素颜色,每次都为角色实现自定义颜色。我有这个人,我将使用php canvas和svg来生成这些图像: 源图像
而我基本上需要的是通过脚本把它变成这样:最终结果
我考虑过几种方法:
1)只有alpha像素并从后面对其进行着色并将alpha图像置于顶部以实现阴影和深度
2)单独绘制每个像素(但这个选项不是我真正想做的)
3)使用像色调/饱和度这样的东西,但这是我所不知道的。
也许我可以做些什么来实现它。
谢谢。
答案 0 :(得分:0)
已经过了凌晨2点所以这是一个简短的回答。
最佳选择:创建一个包含所有角色变体的spritesheet,并从精灵表格中删除所需的精灵,如下所示:drawImage(spritesheet, spriteX, spriteY, spriteWidth, spriteHeight, canvasX, canvasY, spriteWidth, spriteHeight)
下一个最佳选择:创建一个带有完整角色的spritesheet,然后有多套替换裤子(只是裤子 - 不是完整角色),替换衬衫,替换武器等。完整的角色,然后在角色上绘制所需的裤子 - 用所需的裤子覆盖原来的裤子。这样你就可以有效地穿着"可替换裤子,衬衫,武器等中的角色
如果您需要运行时重新着色,请使用合成动态重新着色裤子的剪裁:
secondContext.fillRect(0,0,secondCanvas.width,secondCanvas.height)
关于你的#2:操纵像素很贵 - 尽可能避免。
关于你的#3:如果你只是更换一种RGB颜色,那么你就不需要弄乱饱和度了。亮度。