【问题标题】:Convert PIL.Image to/from Gtk.Picture/Gtk.Image in gtk4在 gtk4 中将 PIL.Image 与 Gtk.Picture/Gtk.Image 相互转换
【发布时间】:2022-03-07 00:20:12
【问题描述】:

我在 PIL(low) 中进行 RGBA 图像处理,并希望在 gtk4 应用程序中显示生成的图像。为此,我需要一个无缝的PIL.Image Gtk.Picture/Gtk.Image 转换器。我想不惜一切代价避免使用临时文件。我找到了有用的提示 herehere 但想知道 gtk4 中是否有更方便的方法?

【问题讨论】:

    标签: python-3.x python-imaging-library gtk4


    【解决方案1】:

    从 GTK 4.4 开始,这似乎效果最好:

    buffer = GLib.Bytes.new(pil_image.tobytes())
    gdata = GdkPixbuf.Pixbuf.new_from_bytes(buffer, GdkPixbuf.Colorspace.RGB, True, 8, pil_image.width, pil_image.height, len(pil_image.getbands())*pil_image.width)
    gtk_image = Gtk.Image.new_from_pixbuf(gdata)
    

    一旦 GTK 4.6+ 变得无处不在,GdkPixbuf 应该通过 Gdk.Texture.new_from_bytes() 替换为 GdkTexture。

    【讨论】:

      猜你喜欢
      • 2021-03-12
      • 2019-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多