无需询问即可保存和关闭图像

save and close images without asking

我尝试编写一些代码来保存和关闭前 7 个图像,如下所示,但是当我执行代码时,DM 仍然询问“在关闭前保存对 xxx 的更改?我需要添加什么命令或代码然后代码可以自动保存前7张图像的更改而不会弹出询问window。谢谢

 image temp:=getfrontimage()
    string imgname=getname(temp)
    string currentpath, currentdirectory
    if(!SaveAsDialog("Save As",imgname,currentpath))exit(0)
    currentdirectory=pathextractdirectory(currentpath,2)
    number i
    string newname, startstring
    for(i=0; i<7; i++)
        {
            image front:=getfrontimage()
            string imgname=getname(front)       
            string thispath=pathconcatenate(currentdirectory, imgname)
            saveasgatan(front, thispath)
            hideimage(front)
                    closeimage(front)       
        }

如果您想从内存中删除图像,可以删除而不是关闭。以下删除最前面的图像而不提示:

image img := GetFrontImage()
DeleteImage( img )

也很高兴知道 image 对象是实际的数据数组,但 imageDocuments 是链接到文件的对象和 window。因此,它是需要的 imageDocument class 命令。要关闭图像(或者更确切地说它是 imageDocument)而不要求保存,您可以使用:

image img := GetFrontImage()
imageDocument iDoc = img.ImageGetOrCreateImageDocument()
iDoc.ImageDocumentClose( 0 )    // parameter is Boolean for "askToSave"

还有一个命令可以让你马上得到最前面的imageDocument,所以你也可以使用:

GetFrontImageDocument().ImageDocumentClose(0)