愚蠢的提问时间。如何使用 Script-Fu 在 GIMP 中关闭图像?
Pythonic 版本的排序:(忽略更改并关闭)
// close the image WITHOUT saving
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
Python 过程浏览器中没有“关闭”的内容
(你的标题和标签“script-fu”,它是Scheme/Lisp,但随后提到了Python......,所以选择Python......)
理论是脚本不应该干扰用户界面,所以你不能随意关闭图像。
如果您的脚本加载图像,则可以使用 a display=gimp.Display(image)
(这是一个gimp.Display
对象)向用户显示该图像。您还可以以相同的方式将显示添加到已加载的图像中。由于您创建了显示,您知道它,您拥有它,因此您可以使用 关闭它gimp.delete(display)
。当图像的最后一次显示关闭时,图像将退出。
如果您不创建显示,则可以利用显示 ID 是按顺序创建的事实,并且此顺序与图像 ID 匹配,因此除非加载了许多图像而没有显示,或者许多图像有很多显示,显示 ID 和图像 ID 彼此接近。
并且给定一个整数 ID,您可以使用 "secret" 恢复显示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)
但是,如果加载了多个图像,这将出现异常,因此请注意。