我认为正在执行一些琐碎的标准任务:我正在将(py)cairo曲面转换为PIL(low)图像。原始cairo曲面使用ARGB模式。目标PIL图像使用RGBA,即我想维护所有颜色和alpha通道。然而,在转换过程中,事情变得非常奇怪:似乎cairo将其数据存储在内部为BGRA,因此我实际上需要在转换过程中交换颜色通道,请参见这里:
import cairo
import gi
gi.require_version('Rsvg', '2.0')
from gi.repository import Rsvg
from PIL import Image
w, h =
在超棒的Wm3.5中,您可以使用cairo创建自定义小部件来绘制其可视化。我想要一个小部件,它显示单色PNG图标(就像wibox.widget.imagebox做它),并允许快速改变它的颜色。我尝试在wibox.widget.imagebox的绘图功能中修改几行代码
local cairo = require("lgi").cairo
--- Draw an imagebox with the given cairo context in the given geometry.
function imagebox:draw(wibox, cr, width, height)