我需要使用哪些脚本代码自动将背景图像添加到图形框中?我需要使用哪些脚本代码自动将背景图像添加到图形框中?
这是我用来创建图形框的简单脚本的示例:
win = New Window( "Map",
Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);运行上面的脚本后,我可以将jpg图像拖放到背景中并对其进行操作(旋转,更改大小,更改透明度等)。
作为脚本的一部分,我需要使用什么代码自动添加jpg图像背景?
Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?谢谢你的形象。我现在能找到它!我偶然在“功能”下搜索而不是“所有类别”。Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?这是粘贴背景图像的参考图像

Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?你真的很亲密。您怀疑的主要问题是报告消息。报告消息被发送到平台以获取显示框树。GraphBox 是显示框树,而不是平台。定位参数也有一些小的调整(我也使用了其他一些参数。)顶部,左侧和底部,右侧位置在与轴相同的坐标中指定。
win = New Window( "Map",
gb=Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("red"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
fb1 = gb[Frame Box( 1 )];
fb1 << add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.5 ),
Rotate( 45 ),
Bounds(
Top( 800 ),Left( 100 ),
Bottom( 100 ),Right( 800 )
),
//SetSize( {300, 210} )
);
background picture positioned and rotated背景图片定位和旋转
Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?xnelson,
我无法弄清楚如何使用你的建议。查看我的帮助==>脚本索引我找不到您引用的“帮助==>脚本索引==> FrameBox ==>粘贴背景图像”。我尝试了从我的示例脚本制作的以下脚本并尝试应用您的建议:
// Here's my original script:
win = New Window( "Map",
Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
// And here's what I added based on your suggestion:
opr1 = win << report;
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);当我运行脚本时,我收到一条错误消息:
“显示框'EvalContextBox'无法识别消息'报告';也许你的意思是其中之一:<<设置报告标题<< Reshow << set horizontal << get horizontal << Parent << Prepend << Get RTF < <保存RTF <<获取Web支持<<边界<<设置属性<<获取属性<<获取属性列表<<获取属性<<设置属性<<获取属性<<获取属性列表<<获取属性。
我查看了脚本索引并找到了对“report”的引用,但语法为“y = Report(platform object)”。所以我尝试更换“opr1 = win << report;”用“opr1 = Report(win)”。摆脱了第一条错误消息,但现在我收到一条错误消息“发送Expects Scriptable Object访问或评估'发送',fb1 << / * ### * /添加图像(”。
我想也许我需要引用Graph Box本身而不是New Window,所以我尝试了脚本:
win = New Window( "Map",
gb= Graph Box(
Frame Size(600, 600),
X Scale(0, 1252),
Y Scale(0, 1252),
Pen Color("white"),
Line( {10, 10}, {10, 1200} );
Line( {600, 10}, {600, 1200} );
Line( {1200, 10}, {1200, 1200} );
)
);
opr1 = Report( gb );
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);(注意我首先尝试了语法“opr1 = gb << report”,但它给了我原始的“报告”错误。)我仍然有一个“发送Expects Scriptable对象访问或评估'发送',fb1 << / * ### * /添加图片(“错误。
我究竟做错了什么?
还有,有没有办法将图像嵌入脚本?多人将运行脚本,因此对图像位置的特定引用将无法轻松扩展。例如,当我添加图像时,我可以使用“Set Blob(Char To Blob())”来代替使用“Open”吗?
Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?你可能会从中得到一些想法这个帖子关于如何控制帧的分段分层以在数据前面或后面移动图片。可以有一个地图,数据点和图像,并按照您需要的顺序获取它们。
Re:我需要使用哪些脚本代码自动将背景图像添加到图形框中?您需要做的是将背景图像粘贴到Graph Box()的Frame Box()中。 以下是直接从Scripting Index中获取的示例,说明了如何执行此操作
帮助==>脚本索引==> FrameBox ==>粘贴背景图像
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Animals.jmp" );
op = Overlay Plot(
X( :subject ),
Y( :miles ),
Separate Axes( 1 )
);
opr1 = op << report;
opr2 = opr1 << Clone Box;
opr1 << append( opr2 );
fb1 = opr1[Frame Box( 1 )];
fb1 << Add Image(
Open(
Convert File Path(
"$SAMPLE_IMAGES/black rhino footprint.jpg"
)
),
Transparency( 0.9 ),
Rotate( 90 ),
Bounds(
Left( 0.135416666666667 ),
Right( 3.26041666666667 ),
Top( 11.8333333333333 ),
Bottom( -1 )
),
SetSize( {300, 210} )
);
fb1 << Copy Picture;
fb2 = opr2[Frame Box( 1 )];
fb2 << Paste Background Image;