преобразование цветовых кодов rgba 255,255,255,255 в цветовые коды kivy в 1,1,1,1

чтобы указать любое значение цвета в kivy, нам нужно указать значения от 0 до 1, т. е. цвет по умолчанию [1,1,1,1] и может содержать значения от 0 до 1, однако коды rgba, которые легко доступны для других языков, всегда указаны от 0 до 255, и я обычно ссылаюсь на них из любой веб-ссылки, как в http://www.rapidtables.com/web/color/RGB_Color.htm

Это помогает даже в различных Python toolkits пример pyQt библиотеки, однако в киви его разные .

кто-нибудь знает, почему его указано от 0 до 1, и если есть какой-либо способ кодирования значений, используемых различными другими языками для цветовых кодов киви . например, что, если я хочу изменить rgb (192,192,192) на цветовой код kivy ?

4 ответов


Я думаю, что вы можете просто разделить его на 255:

float_color = color / 255.0

чтобы избежать некоторых делений и ускорить:

http://www.corecoding.com/utilities/rgb-or-hex-to-float.php


хотя это действительно не отвечает на вопрос, но другой простой способ-использовать шестнадцатеричную функцию kivy, пример в kv lang:

#:import hex kivy.utils.get_color_from_hex
    canvas:
        Color:
            rgba: hex('#03A9F4')

Как видите,здесь, В киви первые три числа-это просто масштабированные значения RGB до 0 и 1, а последний -alpha. Но помните, что вы можете установить режим, вы можете использовать hsv вместо этого, я не думаю, что вам это не нужно.