gpt4 book ai didi

Python Gtk3 从 Gdk.RGBA 或 Gdk.Color 设置或更改 GdkPixbuf.Pixbuf 的颜色

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:36 25 4
gpt4 key购买 nike

如何设置或更改 GdkPixbuf.Pixbuf 的颜色?

我可以创建和填充:

pixbuf = GdkPixbuf.Pixbuf.new(GdkPixbuf.Colorspace.RGB, False, 8, 32, 16)
pixbuf.fill(0x000000)

但是如何从 Gdk.RGBA 或 Gdk.Color 获取颜色?

编辑:

我现在尝试了很多方法,但没有任何效果,例如:

import webcolors
from gi.repository import Gdk
color = Gdk.color_parse("orange")
hexe = webcolors.rgb_to_hex(color.to_floats())

但是我仍然有一个问题,我需要0x开头,而且它必须是一个数字。

最佳答案

哇,这太难了。我终于找到了解决办法:

pixbuf = GdkPixbuf.Pixbuf.new(GdkPixbuf.Colorspace.RGB, True, 8, 16, 16)
color = Gdk.color_parse("orange")
fillr = (color.red / 256) << 24
fillg = (color.green / 256) << 16
fillb = (color.blue / 256) << 8
fillcolor = fillr | fillg | fillb | 255
pixbuf.fill(fillcolor)

感谢 starcal ( https://github.com/ilius/starcal/blob/master/scal3/ui_gtk/desktop.py ) 提供代码并感谢 http://nullege.com/帮我找到了这个。

关于Python Gtk3 从 Gdk.RGBA 或 Gdk.Color 设置或更改 GdkPixbuf.Pixbuf 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39836188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com