如何改变图像kivy的不透明度

时间:2015-05-18 06:09:22

标签: python kivy

如何将图像的透明度更改为50%?

class MyBackground(Widget):

    def __init__(self, **kwargs):
        x = randint(1,10)
        print (x)
        y = 'water.png'
        if x==1:
            y = 'a.png'
        if x==2:
            y = 'b.png'
        if x==3:
            y = 'c.png'
        if x==4:
            y = 'd.png'
        if x==5:
            y = 'e.png'
        if x==6:
            y = 'f.png'
        if x==7:
            y = 'g.png'
        if x==8:
            y = 'h.png'
        if x==9:
            y = 'i.png'
        if x==10:
            y = 'j.png'
        super(MyBackground, self).__init__(**kwargs)
        with self.canvas:
            self.bg = Rectangle(source=y, pos=self.pos, size=self.size)
        self.bind(pos=self.update_bg)
        self.bind(size=self.update_bg)

如何在不更改rgb值的情况下执行此操作?如果我尝试它就会结束白色。

2 个答案:

答案 0 :(得分:1)

你试过吗

with self.canvas:
  self.opacity = 0.5
  self.bg = Rectangle(source=y, pos=self.pos, size=self.size)
  self.bind(pos=self.update_bg)
  self.bind(size=self.update_bg)

参考:http://kivy.org/docs/api-kivy.graphics.instructions.html#kivy.graphics.instructions.Canvas.opacity

答案 1 :(得分:0)

在你的kivy文件中 做出这些修改

Color:
            rgb: (1, 1, 1,a)

点击docs

中的此链接
Image color, in the format (r, g, b, a).

'a'是alpha。

将alpha部分设置为所需的不透明度级别将为您提供图像不透明度。