在pygame中,我在曲面上绘制一个图形。我希望表面本身是透明的,但图像是可见的。我尝试在表面上使用set_alpha
,但图形本身保持透明
self.original_image = Surface((self.rect.w, self.rect.h))
self.original_image.set_alpha(0)
pg.draw.polygon(self.original_image,
self.color,
[Vector2(gui.PATCH_SIZE, gui.PATCH_SIZE),
Vector2(gui.HALF_PATCH_SIZE( ), 0),
Vector2(0, gui.PATCH_SIZE),
Vector2(gui.HALF_PATCH_SIZE( ), gui.PATCH_SIZE*3/4),
])
self.image = self.original_image
我画的时候什么也看不见。当我省略self.original_image.set_alpha(0)
时,我得到了我想要的图形,但是在一个黑色的背景矩形上,它掩盖了所有的内容。如果我尝试self.original_image.fill((0, 0, 0, 0))
而不是self.original_image.set_alpha(0)
,我会得到相同的结果。如有任何建议,将不胜感激。谢谢
另外,我正试图画一个网络标志标准的“海龟”
示例用绿色填充背景,然后用红色矩形/多边形绘制曲面
首先使用
convert_alpha()
,然后使用fill([0,0,0,0])
填充,您可以绘制在此版本中,您可以使用颜色
[R,G,B,Alpha]
为每个像素设置不同的透明度。但不能同时使用set_alpha(128)
更改所有像素的透明度或
使用
set_colorkey([0,0,0])
和blit()
将不会复制颜色为[0,0,0]
的像素在此版本中,可以使用
set_alpha(128)
为所有像素设置相同的透明度,但不能使用颜色[R,G,B,Alpha]
为每个像素分别设置不同的透明度编辑:
相关问题 更多 >
编程相关推荐