自定义图形背景图像拖动重置你好,
给定一个带有背景图像和句柄脚本的自定义图形框,有没有办法防止用户在错过句柄时意外拖动背景图像?我遇到的问题是,当我或其他用户尝试拖动手柄时,经常会错过单击并最终拖动背景图像。没有简单的方法可以撤消此操作,Ctrl+Z 只是将图像重新缩放为其原始大小(而不是图形框的大小)。我的问题是:有没有办法强制图形框中的背景图像不可拖动?或者,如果失败了,有没有办法捕获 Ctrl+Z 来撤消此误点击?最坏的情况是我可以添加一个按钮,但我不希望它的 UI 混乱。
例子
img = New Image( "$SAMPLE_IMAGES/tile.jpg" );
scale_factor = 0.5;
curimg_scaled = img;
curimg_scaled << Scale( scale_factor );
{scaled_width, scaled_height} = curimg_scaled << Size;
XX=scaled_width/2;
YY=scaled_height/2;
gb = Graph Box(
<<ADD image="">缩放宽度,缩放宽度,x<1,1,x); YY = If(y>scaled_height,scaled_height,y<1,1,y);, //mouseupscript -- 更新轮廓图 XX = Round( XX ); YY = 圆形( YY ); // DO STUFF txt = Eval Insert( "(X,Y)=(^XX^,^YY^)" );打印(txt); tb_xy << 设置文本( txt ); ); H线(YY); V线(XX); ); New Window("测试",V 列表框(gb,tb_xy=文本框("")));</ADD>
大规模定制回复:自定义图形背景图像拖动重置您可以锁图片。
img = New Image( "$SAMPLE_IMAGES/tile.jpg" );
scale_factor = 0.5;
curimg_scaled = img;
curimg_scaled << Scale( scale_factor );
{scaled_width, scaled_height} = curimg_scaled << Size;
XX = scaled_width / 2;
YY = scaled_height / 2;
gb = Graph Box(
<<ADD image=""> scaled_width, scaled_width,
x < 1, 1,
x
);
YY = If(
y > scaled_height, scaled_height,
y < 1, 1,
y
);,
//mouseupscript -- update profile plots
XX = Round( XX );
YY = Round( YY );
// DO STUFF
txt = Eval Insert( "(X,Y)=(^XX^,^YY^)" );
Print( txt );
tb_xy << Set Text( txt );
);
H Line( YY );
V Line( XX );
);
New Window( "Test", V List Box( gb, tb_xy = Text Box( "" ) ) );</ADD>回复:自定义图形背景图像拖动重置感谢一群杰夫!该图像消息的选项是否已记录?我一定错过了。回复:自定义图形背景图像拖动重置我首先右键单击图像以查看是否存在锁定选项。

然后,我在脚本索引(帮助->脚本索引)中搜索了锁,并在PictSeg对象上找到了它。

然后,我进行了实验,看看是否可以在上面显示的内容上直接在Add Image()消息上使用它。