0

在传统的笔记形式中,我想动态计算图像。图像位于同一服务器中另一个数据库的图像资源中。

我尝试通过计算计算文本中的 URL 来使用通过 HTML。它在网络上运行良好。但我需要在 Notes Client 中显示表单。我正在使用客户端版本 8.5.2。

在计算 URL 时,我尝试使用notes://而不是http://。仍然没有运气。如果有人帮我找出来。

提前致谢。

4

6 回答 6

0

在插入图像资源时,您可以选择需要从中加载图像的数据库。因此,当您转到“创建 > 图像资源”时,您可以选择“数据库”字段,然后选择该数据库中的图像。

于 2013-05-22T11:28:10.273 回答
0

您需要做的就是插入图像资源。将光标放在需要动态图片的窗体上,单击鼠标右键并选择“插入资源”。一旦显示“插入资源”对话框,选择存储图像资源的数据库,然后选择“图像”资源类型。您必须选择一个图像,可能将其设为默认图像,然后单击“确定”。

接下来,单击图像以使其获得焦点,然后执行“alt + Enter”或右键单击并选择“图片属性”。当图片属性显示时,您将在“源”字段的最右侧看到两个图标,选择公式窗口的第二个“@”,这就是神奇之处。您会看到当前图像名称已经存在。您现在要做的就是创建 @If 语句来更改图像名称,没有路径只是图像名称,资源已经绑定到存储图像的数据库。这已经很久了,但实际上实施起来又快又简单。请享用:-)

于 2013-05-22T13:26:03.200 回答
0

卡西克,

我不确定这是否是您的问题,但请记住表单的处理顺序,从左到右和自上而下。如果您的 empcode 字段位于图像资源之后,则公式将看不到字段值,除非您进行刷新。我使用了一个包含要检查的值的字段来切换我的图像并且有效。您是否尝试过 @GetField("the field name") 来返回值?

于 2013-05-23T13:04:06.050 回答
0

你不能直接这样做。您既不能计算数据库,也不能传递其他数据库的图像 url。插入资源时,它会询问数据库名称。如果您选择名称为“a”。然后图像资源将采用您选择的数据库。它将从数据库“a”中获取图像。它不会从当前数据库中获取图像。所以你只需简单地传递图像文件名。

使用这样的公式。,

@If(@GetField("pic")="1";"spinning earth.gif";@GetField("pic") = "3";"logo.jpg";"attach2.jpg")

上面提到的三张图片来自不同的数据库但相同的服务器。如果要从当前数据库中获取图像,请使用另一个图像资源。使隐藏时。挤压你的布赖恩。

于 2013-05-24T09:58:19.687 回答
0

看来计算的图像资源不喜欢隐含的文本构造,我试图完全按照你构建图像字符串的方式去做,但它一直失败,直到我这样做:

@Text(@GetField("来自") + ".jpg")

我使用组合框“from”来测试“刷新关键字更改”来模拟新值。图像变化得很漂亮,资源是从不同的数据库中选择的。

我不知道要注意的一件事是,如果您创建图像资源并导入 .bmp(位图)图像,它会更改为 .jpg。这可能会通过尝试引用不存在的图像来搞砸你。

简而言之,来自不同数据库的计算图像资源将起作用。

于 2013-05-24T14:27:35.223 回答
0

其他解决方案中描述的计算图像资源肯定会起作用。唯一的“问题”是,设计者希望在保存表单时获得指向有效文件的文本。否则它将使图像无法使用。

知道并且知道在设计器客户端中字段值被认为是空的,如果所需字段为空,您必须将结果“包装”在 if 子句中,或者中断计算。您的第一行可能如下所示:

@If( FieldWithImageName = ""; @Return( "myfallbackimage.jpg" ); "" );

之后,您进行计算。如果您引用的字段位于图像上方,设计师将回退到回退图像,并且客户端将根据您的公式计算图像(您知道:从左到右,从上到下计算表单)

另一件需要注意的事情:在早期版本的 Lotus Notes 中,当您在图像属性中选择 100% 时,图像只是缩放到自己的 100% 大小。但是在 7 (iirc) 中这种情况发生了变化,所有图像都以设计器中存储的图像的像素数显示。如果您的后备图像是 100x100 像素,那么每个图像都将被压缩或拉伸到该范围。所以最好确定,所有图像都具有相同的大小。

于 2013-05-26T07:20:34.503 回答