Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dm script 如何在dm脚本中将ImageDocument设置为不脏_Dm Script_Python_Image_Dirty Data - Fatal编程技术网

Dm script 如何在dm脚本中将ImageDocument设置为不脏

Dm script 如何在dm脚本中将ImageDocument设置为不脏,dm-script,python,image,dirty-data,Dm Script,Python,Image,Dirty Data,如何在python中设置一个ImageDocument,使其不再脏而不保存 我在下面发布了python代码,可以用下面的dm脚本code来表示 String file_path=GetApplicationDirectory(0,1).PathConcatenate(“test image.dm4”); 图像img:=真实图像(“测试”,4,64,64); ImageDocument doc=img.ImageGetOrCreateImageDocument(); doc.ImageDocum

如何在python中设置一个
ImageDocument
,使其不再脏而不保存


我在下面发布了python代码,可以用下面的
dm脚本
code来表示

String file_path=GetApplicationDirectory(0,1).PathConcatenate(“test image.dm4”);
图像img:=真实图像(“测试”,4,64,64);
ImageDocument doc=img.ImageGetOrCreateImageDocument();
doc.ImageDocumentSaveToFile(“Gatan格式”,文件路径);
文档ImageDocumentShowAtRect(100100164164);
(下面的python代码)创建并显示
ImageDocument
。图像已保存。但即使用自己的模块将其直接保存在数字显微照片中,它也无法识别是否已保存。我可以手动链接文件(通过执行python中的
dm script
code),但我不能告诉程序图像没有修改

有一个函数
ImageDocumentIsDirty()
。但是这个函数只返回图像是否被修改。我无法设定它

我的程序创建了一个新的工作区并加载了100多个图像。当关闭数码显微照片时,它会询问100张图片中的每一张是否应该保存。我不能让用户点击100次“否”。尤其是因为文件已保存

那么,如何判断图像已保存

试试看:
以DM形式导入数字显微照片
将numpy作为np导入
导入execdmscript
导入操作系统
name=“测试图像”
file_path=os.path.join(os.getcwd(),“test image.dm4”)
#创造形象
image_data=np.random.random((64,64))
image=DM.CreateImage(图像数据)
image.SetName(名称)
#创建、保存和显示图像文档
image\u doc=image.GetOrCreateImageDocument()
图像\文件集合名称(名称)
图像文件保存文件(“Gatan格式”,文件路径)
打印(“将图像保存到”,文件路径)
图像\文件显示目录(100100164164)
#将图像链接到文件
dmscript=“\n”。加入((
“对于(编号i=CountImageDocuments()-1;i>=0;i--){”,
“ImageDocument img_doc=GetImageDocument(i);”,
“如果(img_doc.ImageDocumentGetName()==name){”,
“img_doc.ImageDocumentSetCurrentFile(路径);”,
“中断;”,
"}",
"}"
))
svars={
“名称”:image_doc.GetName(),
“路径”:文件路径
}
使用execdmscript.exec_dmscript(dmscript,setvars=svars):
通过
例外情况除外,如e:
打印(“{}:”.format(e.____;类__;.__;名称_;),e)
导入回溯
traceback.print_exc()

您要查找的命令是
void ImageDocumentClean(ImageDocument imgDoc)



另外:首先,它变脏的原因是,窗口位置存储为文档的一部分。(其他的东西,比如标签,也可以使用。)

这正是适合我的正确答案。我修改了我的问题,使它更符合这个答案。显示一些
dm脚本
代码对其他用户来说可能更容易理解。
image img := realimage("test",4,100,100)
img.ShowImage()
imageDocument doc = img.ImageGetOrCreateImageDocument()

Result("\n Dirty? " + doc.ImageDocumentIsDirty())
doc.ImageDocumentClean()
Result("\n Dirty? " + doc.ImageDocumentIsDirty())