gtk3+ and python rgba convert to hex

南楼画角 提交于 2019-12-04 06:54:24

问题


i using gtk3 i found that it use rgba for representing color, but the (red,green,blue,alpha) are not integer between 0-255 but floating point number between 0-1.0, so i don't know how to convert from rgba to hex and vice-versa

i have tried this code but its seem to not work :

def convert_to_hex(rgba_color) :
red = str(hex(int(rgba_color.red*255)))[2:].capitalize()
green = str(hex(int(rgba_color.green*255)))[2:].capitalize()
blue = str(hex(int(rgba_color.blue*255)))[2:].capitalize()

return '0x' + red + green + blue

回答1:


Assuming the problem is that the number should have leading zeros when they are only 1 digit. Here is a solution for that.

def convert_to_hex(rgba_color) :
    red = int(rgba_color.red*255)
    green = int(rgba_color.green*255)
    blue = int(rgba_color.blue*255)
    return '0x{r:02x}{g:02x}{b:02x}'.format(r=red,g=green,b=blue)


来源:https://stackoverflow.com/questions/21954792/gtk3-and-python-rgba-convert-to-hex

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!