在路径名中使用变量你好,
如果这是一个小问题,请原谅我,我在使用JSL方面经验不足。
我正在尝试使用JSL代码将图片添加到悬停标签,并想使用变量定义图片路径。 我有一个图片文件夹,希望使用表中的变量来调用它们。
例如,我的图片被标记为1到100,并且我的表中有一列称为“图片编号”。 我希望能够这样打电话给他们:
PictureBox(Open(“ c:/ iris /”图片编号“ .jpg”,jpg));
这可能吗?
非常感谢!
脚本编写回复:在路径名中使用变量是的,这有一些变化:
img << saveimage( "f:/path/x" || Char( imagenumber ) || ".png", "png" );
x是数字前的前缀,操作系统不需要。
回复:在路径名中使用变量谢谢!我会尝试的。
回复:在路径名中使用变量使用特定的图片编号可以很好地工作,但是我不能在此路径中插入变量名(变量列为“图片编号”),例如,以下操作无效。 任何想法如何解决这个问题?
PictureBox(Open("c:/iris/" || :picture number|| ".jpg", jpg));
回复:在路径名中使用变量如果您查看示例悬停标签编辑器为Picture Graphlet提供的示例
// Example:
// Graph Builder(Variables(Y(local:_measurements[1])), Elements(Histogram(Y)))
// Example:
// PictureBox(Open("c:/iris/" || local:_Species || ".jpg", jpg));语法似乎有点特殊。 也许可以用这样的东西:
PictureBox(Open("c:/iris/" || char(local:_picture number)|| ".jpg", jpg));回复:在路径名中使用变量检查日志中是否有消息。 以下一项或多项可能会有所帮助。
在变量中构建路径名,并将其打印到日志中,然后将变量传递给open。
在第二个参数周围添加引号以将其打开。
在列名称之前添加数据表作用域。
在列名称后添加行号下标。
编辑:使用char()函数将数字转换为字符!
filename = "c:/iris/" || char(dt:picture number[1]) || ".jpg";
show(filename);
PictureBox(Open( filename, "jpg"));
回复:在路径名中使用变量您可能要检查此线程。 他们有相同的用例。 该线程包含许多您认为有用的脚本示例。
悬停标签
回复:在路径名中使用变量非常感谢,这很好。
回复:在路径名中使用变量哇,很好的例子@jthi ! 感谢您的分享!
这里的技巧是,当您从表列中构建图像精细名称时,必须指示列名称和行。 在由graphlet执行上下文填充的Local名称空间内,当前行在变量local:_firstRow中可用。 因此,构造:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
有关此变量和其他变量的更多信息,请参见悬停标签执行上下文。
回复:在路径名中使用变量感谢您的答复。
我有一个后续问题。 我希望悬停标签从一列获取文件地址。 我的专栏本身就有地址,例如,我的Colum中的文本(名为PicAdress)是“ c:/iris/picNumber.jpg”。
但是,我无法获得hovel标签来接受此变量。我试过使用:
PictureBox(Open(local:_PicAdress, jpg))
没有成功。
当我在列中简单输入地址时,就没有问题。
PictureBox(Open("c:/iris/" || local:_PicAdress || ".jpg", jpg))
有什么建议吗?
回复:在路径名中使用变量尝试检查日志以查看您遇到的错误。 最可能是这样的:“在访问或评估'local_:PicAdress'时未定义名称空间“ local_””。
尝试这样的事情:
Picture Box(Open(Column("PicAdress")[local:_firstRow],jpg))
更多信息可能来自:如何使用基础数据点中的数据在鼠标悬停时运行查询?
编辑:
我添加了示例脚本。 它将创建几个文件(默认为10个)到$ TEMP(并在关闭窗口时尝试将其删除),并使用两个图形构建器创建窗口:
- 首先,将使用以下思路从图形构建器中的数据构建路径:
PictureBox(Open(“ c:/ iris /” || local:_PicAdress ||“ .jpg”,jpg))
- 其次是仅使用来自图构建器的行信息,并根据数据表中的行获取数据
图片框(打开(列(“ PicAdress”)[本地:_firstRow],jpg))