Kivy Python - неправильный цвет, используя kivy.utils.rgba - PullRequest
1 голос
/ 01 марта 2020

Я пытаюсь преобразовать мое шестнадцатеричное число , которое сообщает о цвете, используя метод kivy.utils.rgba , но оно преобразуется в неправильный цвет.

Я имею в виду, Я создал образец представления в Inkspace и взял оттуда код в шестнадцатеричном представлении , а затем вставил его в код, но видимый цвет в редакторе Inkspace отличается от цвета в созданном приложении в Kivy. Кто-нибудь знает в чем может быть причина?

#:import utils kivy.utils
<FlatButton@ButtonBehavior+Label>:
    font_size:  16
<SigninWindow>:
    id:                 main_win
    orientation:        "vertical"
    spacing:            150
    space_x:            self.size[0]/3
    canvas.before:
        Color:
            rgba:       utils.rgba('17b61738')
        Rectangle:
            size:       self.size
            pos:        self.pos
    BoxLayout:
        size_hint_y:    None
        height:         50
        canvas.before:
            Color:
                rgba:       (.06,.45,.45,1)
            Rectangle:
                size:       self.size
                pos:        self.pos
        Label:
            text:           "Nazwa aplikacji"
            bold:           True
            size_hint_x:    .9
        FlatButton:
            text:           "x"
            size_hint_x:    .1
    BoxLayout:
        orientation:        "vertical"
        padding:            main_win.space_x, 10
        spacing:           
        BoxLayout:
            orientation:    "vertical"
            spacing:        10
            size_hint_y:    None
            height:         100
            Label:
                id:                 info
                text:               ''
                markup:             True
                size_hint_y:        None
                height:             20
            TextInput:
                id:                 username_field
                hint_text:          "Username"
                multiline:          False
                focus:              True
                on_text_validate:   pwd_field.focus = True
            TextInput:
                id:                 pwd_field
                hint_text:          "Password"
                multiline:          False
                password:           True
                on_text_validate:   root.validate_user()
        Label:
            id:             sp
            size_hint_y:    None
            height:         40
        Button:
            text:               "Sign In"
            size_hint_y:        None
            height:             40
            background_color:   (.06, .45, .45, 1)
            background_normal:  ''
            on_release:         root.validate_user()
        Label:
            id:     sp2

1 Ответ

0 голосов
/ 02 марта 2020

Если цвет, о котором вы говорите, - utils.rgba('17b61738'), то непрозрачность этого цвета - 0.21 (это означает, что он в основном прозрачный). Таким образом, отображаемый цвет - это, в основном, сквозной фон с небольшим оттенком зеленого sh. Итак, вы должны проверить, какого цвета фон на вашем изображении в Inkspace. Затем вы можете вставить еще один Rectangle (до рассматриваемого) с правильным цветом фона. Это должно дублировать желаемый цвет (при условии, что новый Color имеет непрозрачность 1).

...