在JSL中关闭图像obj时出现问题您好,希望得到一些JSL脚本的帮助。 我遇到的问题是newImage对象保持打开但完全隐藏。 我知道它是开放的唯一方法是因为Windows无法删除该文件,因为它表示它在另一个程序中打开,该程序通过关闭JMP来修复。 这是我的代码片段,我尝试了一些obj << close()和obj << close window()但是对象仍然存在。
img_t = newImage(path_to_results||"/"||subfolder_list[k]||"/"||image)
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,PX+25,PY+25 ),color("Yellow"),raised(1));
img= w2 << getpicture();
img_t << Close Window;
w2 << Close Window;
img<<SET size=""></SET>有什么建议?
Re:在JSL中关闭图像obj时出现问题如果您在JMP中以新会话开始,请尝试以下脚本:
Names Default to here(1);
img_t = New Image( "$SAMPLE_IMAGES/tile.jpg" );
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
{PX,PY} = w2 << get size;
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,25,25 ),color("Yellow"),raised(1));
img= w2 << get picture();
w2 << Close Window;
//the image objects still exist
//show(img);
//show(img_t);
img = empty();
img_t = empty();
show(img, img_t); //see LOG: img = Empty(); img_t = Empty();
delete symbols({img, img_t});
show symbols();
然后看一下LOG窗口。你会看到这个:三个显示结果。 符号/对象可以是本地的,在这里,也可以是全局的。注意我有一个你可能没有的全局。 所以关键是用新值替换变量并删除名称(符号)。 您可能想了解更多信息命名空间在JMP脚本指南中。
img = Empty();
img_t = Empty();
// Here
img = Empty();
img_t = Empty();
PX = 451;
PY = 451;
w2 = DisplayBox[];
// 5 Here
// Global
com.jmp.wmurph.crashrpt.flag = 0;
// 1 Global