愚蠢的提问时间。如何使用Script-Fu关闭GIMP中的图像?
此功能的Pythonic版本排序:(忽略更改并关闭)
// close the image WITHOUT saving
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
[Python过程浏览器中没有“关闭”的内容
((标题和标签为“ script-fu”,为Scheme / Lisp,但随后提到了Python ...,因此适用于Python ...)
理论是脚本不应干扰UI,因此您不能随意关闭图像。
如果脚本加载图像,则可以使用display=gimp.Display(image)
(这是gimp.Display
对象)向用户显示图像。您也可以用相同的方法将显示添加到已加载的图像中。自创建显示以来,您就知道了它的所有权,因此可以使用gimp.delete(display)
将其关闭。当图像的最后一个显示关闭时,该图像被退出。
如果不创建显示,则可以利用以下事实:显示ID是按顺序创建的,并且此顺序与图像ID匹配,因此,除非加载了许多图像而没有显示或有很多图像具有如果显示很多,则显示ID和图像ID彼此接近。
给定整数ID,您可以使用“秘密” gimp._id2display(id)
恢复显示,因此,如果加载了单个图像,则可以使用类似的内容找到其显示内容
for displayID in range(1,image.ID+50):
display=gimp._id2display(displayID)
if isinstance(display,gimp.Display):
break
if not display:
raise Exception('Display not found')
gimp.delete(display)
但是如果加载的图像不止一个,则会出现异常,请当心。