【发布时间】:2014-07-07 20:40:06
【问题描述】:
我找到了这段代码
gdk_rgba_parse ()
这应该允许我做类似的事情
Gdk.RGBA.parse(#7F7F7F)
错误:
TypeError: unbound method parse() must be called with RGBA instance as first argument (got str instance instead)
使用 RGBA 颜色(百分比,从 0 到 1)
文档:
https://developer.gnome.org/gdk3/stable/gdk3-RGBA-Colors.html#gdk-rgba-parse http://www.crategus.com/books/cl-cffi-gtk/pages/gdk_fun_gdk-rgba-parse.html
但是我有点迷路了,我很难从 C 转换为 PyGOBject 并理解函数的参数。任何帮助将不胜感激!
由于我没有找到合适的解决方案,我做了这个转换器:
def hex_to_rgba(value):
value = value.lstrip('#')
if len(value) == 3:
value = ''.join([v*2 for v in list(value)])
(r1,g1,b1,a1)=tuple(int(value[i:i+2], 16) for i in range(0, 6, 2))+(1,)
(r1,g1,b1,a1)=(r1/255.00000,g1/255.00000,b1/255.00000,a1)
return (r1,g1,b1,a1)
它有效..
【问题讨论】:
-
类似于 (color:=Gdk.RGBA()).parse('#7F7F7F')
标签: pygobject