关闭当前 file/view/display 而不保存它或被要求这样做

Close current file/view/display without saving it or beeing asked to do so

我在 Gimp 中打开了一个 xcf 文件 "BY HAND"。

如何关闭这个文件(也是当前的view/display)而不被问到是否要保存它。

我需要注册函数来给我 "current Display" 类似 PF_Display 的东西 ...(比如图像和可绘制对象)

然后我会去使用:

pdb.gimp_display_delete(显示)

如何获得与按 "CTRL + W" 或按 "x" 按钮相同的结果?

到目前为止对我没有任何效果:

1: gimp.pdb.gimp_image_delete(image)

2: display = pdb.gimp_display_new(image)
   pdb.gimp_display_delete(display)

3: use of image.clean_all() in combination with 1: and 2:

这太基础了,我已经用谷歌搜索了很多,没有任何帮助,我失败了...

理论上,您不能,因为通过设计,Scheme 或 Python API 不会干扰 UI。也就是说,我有一个脚本可以执行此操作:

    # delete image display and image
    for displayID in range(1,image.ID+50):
        display=gimp._id2display(displayID)
        if isinstance(display,gimp.Display):
            #print 'Image: %d; display %d' % (image.ID,displayID)
            break
    if not display:
        raise Exception('Display not found')            
    gimp.delete(display)

基本上它会尝试使用一堆 id 创建一个 Display,而 Gimp returns a gimp.Display 仅当 id 与 gimp.Display 匹配时。使用上述代码的脚本的工作方式是,Gimp 中一次只有一个图像处于活动状态。对于多个图像,它变得有风险,因为您无法检查哪个显示器与哪个图像匹配。然而,通常显示的 ID 是图像 ID 之前的 ID,因此您可以这样做:

display=gimp._id2display(image.ID-1)
gimp.delete(display)

但是,没有保证,当然我不认识你,我们从未见过面,Whosebug 也不存在...