有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?相关的知识,希望对你有一定的参考价值。

我需要一个由黑色矩形代表的“塔”,它是完全不透明的。我也需要有一个圆圈来表示它可以拍摄的半透明范围。这一切都需要是一个pygame.Surface表面具有完全透明的背景。如果需要澄清,我显然在课堂上使用它。我知道如何有一个半透明的表面,但我不能让它有一个透明的背景,而只是一个黑盒子。

答案

您必须创建曲面并使用Alpha通道转换为曲面。

 surface = surface.convert_alpha()

Nex你必须填充它在alpha=0[R,G,B,Alpha]的颜色

 surface.fill([0,0,0,0]) 

你有透明背景的空表面。

现在你可以用不同的透明度绘制 - 你必须使用颜色与alpha - [R,G,B,Alpha]

例如半透明圆(transparency 50% = alpha=128

pygame.draw.circle(surface, (0,0,0, 128), (100, 100), 100)

使用alpha=0它将是隐形的,使用alpha=255它将是完全不透明的。


如果你有.png透明度,那么你可以在加载后使用.convert_alpha()来获得透明度。

image = pygame.image.load("file.png").convert_alpha()

请参阅transparency in PyGame的示例

enter image description here

以上是关于有没有办法让半透明的圆圈背景完全透明,中间是完全不透明的盒子?的主要内容,如果未能解决你的问题,请参考以下文章

完全删除 Toastr.js 中的不透明度?

JS实现背景透明度可变,文字不透明的效果

我要一张完全透明的图片 就是那种看不见的 透明的

vb.net 如何使panel有一定透明度

android标题栏透明度渐变

具有完全透明背景的 qt 小部件