创建一个透明的表面以在pygame中绘制像素

Ctrl

我创建了一个使用像素阵列放置像素的表面,但是我想使该表面透明但使像素不透明,我尝试使该表面透明然后在其表面绘制像素,但这只是使像素也透明,有什么帮助或我错过的东西吗?

-编辑-希望这会有所帮助,这是创建表面(即银河系)的类对象

我也说了我尝试过的,没有什么可说的了

class Galaxy(object):



def __init__(self,posx=0,posy=0,radius=0,depth=0):
    radius = int(radius)
    self.size = [radius*2,radius*2,depth]
    self.posx = posx
    self.posy = posy
    self.radius = radius

    #create array for stars
    self.starArray = []

    #create surface for stars
    self.surface = pygame.Surface([radius*2,radius*2])
    self.starPixel = pygame.PixelArray(self.surface)

    #populate
    for x in range(radius*2):
        for y in range(radius*2):
            #generate stars
            num1 = noise.snoise2(x+posx,y+posy,repeatx=radius*10,repeaty=radius*10)
            distance = math.sqrt(math.pow((x-radius),2)+math.pow((y-radius),2))
            if distance < 0:
                distance = distance * -1

            #print(x,y,"is",distance,"from",radius,radius)

            val = 5

            #glaxy density algorithm
            num = (num1 / ( ((distance+0.0001)/radius)*(val*10) )) * 10

            #density
            if num > (1/val):
                #create star
                self.starArray.append(Stars(x,y,seed=num1*100000,distance=distance))
                #print(num*1000)
    self.addPixels()

#adds all star pixels to pixel array on surface
def addPixels(self):
    for i in self.starArray:
        self.starPixel[i.x,i.y] = i.colour
    del self.starPixel

#sends to screen to await rendering
def display(self):
    screen.displaySurface(self.surface,[self.posx+camPosX,self.posy+camPosY])
奥古斯塔

使用MyGalaxy.set_colorkey(SomeUnusedRGB)定义的零α(不可见)的背景颜色,填充MyGalaxy与该颜色,然后绘制在其顶部的像素。可以使用pixelArray函数来绘制该表面,但是MyGalaxy.set_at(pixelLocationXY, pixelColourRGB)出于可管理性和性能的考虑,您可能最好使用它

确保该像素SomeUnusedRGB永远不会与任何pixelColourRGB像素相同,否则这些像素将不会出现(因为pygame会将其解释为不可见的)。当将MyGalaxy蒙版到任意位置时,它只应蒙版非SomeSomeUnusedRGB像素,其余像素保持不变。

(这是我可以在不进一步了解您的代码的情况下为您提供的最好的;将问题修改为包含您已经在尝试的内容,我将更新此答案。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Pygame-如果您将一个矩形的矩形比一个矩形小的表面会发生什么?

来自分类Dev

创建一个透明的加载叠加

来自分类Dev

从一个表面绘制到另一表面

来自分类Dev

如何使线条表面光滑以达到一个像素宽度?

来自分类Dev

在pygame中创建一个随机门

来自分类Dev

如何创建一个透明的JPanel

来自分类Dev

设置像素格式并在SDL中从表面创建纹理

来自分类Dev

在pygame中创建一个窗口而不显示它

来自分类Dev

在UIView中每像素绘制一个像素

来自分类Dev

创建其中带有透明“窗口”的像素图,该像素图由另一个像素图组成

来自分类Dev

Qt-在Windows中绘制一个完全透明的窗口,而无需使用WA_TranslucentBackground

来自分类Dev

如何创建一个接受像素的范围输入?

来自分类Dev

在pyqtgraph中绘制一个矩形

来自分类Dev

如何在PyGame中绘制一个洗过的楼梯

来自分类Dev

Pygame一次只绘制一个“按钮”

来自分类Dev

在透明窗口中绘制一个半透明矩形

来自分类Dev

创建一个透明的加载叠加

来自分类Dev

在jframe中的模糊背景上创建一个透明矩形

来自分类Dev

创建一个1像素的纹理问题。

来自分类Dev

在Android中的Canvas上透明地绘制/“融合”图像到另一个图像

来自分类Dev

从一个方向看,体绘制更透明

来自分类Dev

VB.NET在动态创建的png图像周围绘制两个像素的透明边框?

来自分类Dev

你可以给一个方法一个属性,该属性是由pygame中同一类中的另一个方法创建的吗?

来自分类Dev

如何在 pygame 中将表面(图像)转换为另一个表面?

来自分类Dev

Pygame - “ display.set_mode() ”创建一个比请求小的窗口(表面在窗口之外)

来自分类Dev

Pygame:将文本表面连续传输到另一个表面上

来自分类Dev

PyGame 绘制一个空白窗口直到退出

来自分类Dev

如何在pygame中绘制透明矩形

来自分类Dev

如何在matlab中绘制一个透明的圆圈?

Related 相关文章

  1. 1

    Pygame-如果您将一个矩形的矩形比一个矩形小的表面会发生什么?

  2. 2

    创建一个透明的加载叠加

  3. 3

    从一个表面绘制到另一表面

  4. 4

    如何使线条表面光滑以达到一个像素宽度?

  5. 5

    在pygame中创建一个随机门

  6. 6

    如何创建一个透明的JPanel

  7. 7

    设置像素格式并在SDL中从表面创建纹理

  8. 8

    在pygame中创建一个窗口而不显示它

  9. 9

    在UIView中每像素绘制一个像素

  10. 10

    创建其中带有透明“窗口”的像素图,该像素图由另一个像素图组成

  11. 11

    Qt-在Windows中绘制一个完全透明的窗口,而无需使用WA_TranslucentBackground

  12. 12

    如何创建一个接受像素的范围输入?

  13. 13

    在pyqtgraph中绘制一个矩形

  14. 14

    如何在PyGame中绘制一个洗过的楼梯

  15. 15

    Pygame一次只绘制一个“按钮”

  16. 16

    在透明窗口中绘制一个半透明矩形

  17. 17

    创建一个透明的加载叠加

  18. 18

    在jframe中的模糊背景上创建一个透明矩形

  19. 19

    创建一个1像素的纹理问题。

  20. 20

    在Android中的Canvas上透明地绘制/“融合”图像到另一个图像

  21. 21

    从一个方向看,体绘制更透明

  22. 22

    VB.NET在动态创建的png图像周围绘制两个像素的透明边框?

  23. 23

    你可以给一个方法一个属性,该属性是由pygame中同一类中的另一个方法创建的吗?

  24. 24

    如何在 pygame 中将表面(图像)转换为另一个表面?

  25. 25

    Pygame - “ display.set_mode() ”创建一个比请求小的窗口(表面在窗口之外)

  26. 26

    Pygame:将文本表面连续传输到另一个表面上

  27. 27

    PyGame 绘制一个空白窗口直到退出

  28. 28

    如何在pygame中绘制透明矩形

  29. 29

    如何在matlab中绘制一个透明的圆圈?

热门标签

归档