如何自定义坐标系,且在一个坐标系中打开一副图片,当鼠标在图片上点击时显示出鼠标在当前坐标系下的x1、y1坐标,并将x1、y1坐标值添加到x1、y1坐标的输入框中;再次在图片上点击时显示出鼠标在当前坐标系下的x2、y2坐标,并将x2、y2坐标值添加到x2、y2坐标的输入框中。
请各位高手指点!
谢谢!
请各位高手指点!
谢谢!
解决方案 »
- 关于DLL和EXE之间的
- Delphi+sql+ DateTimePicker1查询
- 模式的菜菜问题,高手菜鸟都来拍砖!
- 动态增加控件问题????????在线急等!!!!!!!!!!!!
- 一个困扰我很久的问题
- 问个课外的问题(第五届全国中小学生电脑程序制作)
- 客户端如何根据server端主机“名称“ 找到远端IP地址( 在internet上)
- 写了一个wave的东东,有兴趣的请进
- 我用Query添加新记录,怎么样才能使DBGrid马上显示出添加的新记录呢?
- zswnag现身,我专门开了个文件夹收藏你的文章?
- 用程序同时控制两台打印机打印相同内容如何实现?
- 免费邮件群发&群收系统,可下载(含 Delphi源代码).
var
bFirstClick: Boolean;
procedure TForm1.图片MouseDown(Sender: TObject; Button:
TMouseButton; Shift: TShiftState;
X, Y: Integer);
begin
if bFirstClick then
begin
x1.Text := IntToStr(X);
y1.Text := IntToStr(Y);
bFirstClick := False;
end
else begin
x2.Text := IntToStr(X);
y2.Text := IntToStr(Y);
bFirstClick := True;
end;
end;
我试了一下,发现每次点击都只能改变x1、y1坐标的输入框,而x2、y2坐标的输入框没有变化,能否告诉我是为什么?
此外,请问鼠标在图片上移动时如何动态显示鼠标所指位置的坐标值?
procedure TForm1.图片MouseDown 方法的局部变量。
还有两个问题:
1、在图片上如何随着鼠标移动动态显示鼠标所指位置的坐标值(此时鼠标为十字状态)?
2、当图片放大或缩小时,坐标值如何转换?即是在图片实际大小时确定图片上一点的坐标后,然后为了更准确地确定另一点的坐标,需要以某一放大系数放大图像,放大后再定出另一点的坐标,但这两点是在图片大小不同的情况下定出来的,如何将不同情况下的坐标值转换为同一情况下的相对坐标?