[easyx游戏开发]---实现透明背景效果

easyx人物背景透明

本人正在做一个冒险岛的单机游戏,素材是从游戏wz解析出来的。代码直接用putimage会有黑边,所以我就处理了一下,用ps把背景改为透明

但还是会有黑边。

easyx自带的帮助文档里有三元光栅操作码(即位操作模式),挨个试过只有SRCPAINT有类似透明背景的效果,但图片严重失真

查看easyx贴吧,发现有很多老铁遇到和我一样的情况。大神提供了一种方法,使用精灵图和掩码图制造透明效果。

精灵图:就是你要绘制的图片,希望该图片某些区域透明。
掩码图:和精灵图对应,要显示的区域用白色,透明的区域用黑色。

先上效果图。

可以看到,基本上已经实现透明背景了。

下面讲实现步骤

  • 打开ps,新建一张图,宽高和图片大小一致,

  • 然后点编辑–>填充–>选黑色
  • 点击打开–>选择对应的图片

  • 按V点击原图将原图移到黑图上
  • 点击左栏快速选择工具

菜单栏->图像->模式->灰度

图像->调整->阈值:

阈值让选区和背景区尽量分明,取值1

图像->调整->反向:

最后效果

然后在代码中运行阶段,每次绘制都这样做:
putimage(x, y, 掩码图, NOTSRCERASE);
putimage(x, y, 精灵图, SRCINVERT);
这样就能有同上的效果了。

你可能感兴趣的:([easyx游戏开发]---实现透明背景效果)