我已经在 Gimp 中“手动”打开了一个 xcf 文件。
如何在不询问我是否要保存的情况下关闭此文件(这也是当前 View /显示)。
我需要注册函数来给我“当前显示”,比如 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 仅在 id 与 gimp.Display 匹配时才返回 gimp.Display。使用上述代码的脚本的工作方式是,Gimp 中一次只有一个图像处于事件状态。对于多个图像,它变得有风险,因为您无法检查哪个显示器与哪个图像匹配。然而,通常显示的 ID 是图像 ID 之前的 ID,因此您可以这样做:
display=gimp._id2display(image.ID-1)
gimp.delete(display)
但是,没有保证,当然我不认识你,我们从未见过面,StackOverflow 也不存在......
关于python - 关闭当前文件/ View /显示而不保存或被要求这样做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42026126/