图片(地图)上某点坐标的动态设置,高手请进,非常值得研究(200)

  • 主题发起人 主题发起人 jsw0525
  • 开始时间 开始时间
J

jsw0525

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,你们好! 我在Image1控件上放了一张地图图片,然后在地图上放置一个button控件。 如在首都北京的位置放一个button按钮,该点的坐标为(50,200),并且将该坐标点的信息保存进数据库里。下次需要时直接就从数据库里面获取该坐标点的值,然后在该坐标点生成一个按钮。问题来了,如下: 假设我下次进来时,这个地图大小和上一次保存时完全相同,则没任何问题,刚好在上次的位置生成了一个按钮。但是,如果这次进来时地图大小(也就是窗口大小)不同时,那么按照上次保存的坐标点生成的按钮所在的位置发生了偏移(也就是说不是上次的相对位置)。 怎么问题要怎么样处理才可能实现,可以随着地图(窗口)的大小的变化,这个点的相对生成位置要正确,始终能在首都的位置生成一个按钮。 谢谢!这个有难度,给200分,分数不够可以再加!谢谢大家!·
 
不可能,天知道你的地图会变成什么样。
 
可以保存下 相对的窗口大小 只要用2次窗口的高度宽度比做系数 在计算就可以 不过有点误差但是基本在原来位置 注意先做乘法最做除发这样误差小点
 
一切皆有可能:)你不能将该点的坐标设置为绝对坐标值。应该根据该图的比例,求出首都在该图的比例位置,这样无论如何缩放,都可以计算出首都的位置,将其保存。告诉你,如果该图被剪裁了此方法无效!
 
楼上的两位正解。记下按钮的X和Y相对于窗口位置和宽高的比例,就好了。例如:Posx := 按钮.x / this.Width;Posy := 按钮.y / this.Height;下次按钮.x := this.Width * Posx;按钮.y := this.Height* Posy;
 
不过就是一个图片缩放问题~~~, 楼上已有解...
 
首先真诚的感谢各位热心朋友的指点、发言!非常感谢!草原骏马。这个我还没完全理解样的,头昏昏的。我的QQ:27958870各位能够加我吗?我将图片、原码给你们谢谢
 
为什么不用MAPX控件了,代码量比你这样少了很多
 
to:testmensMAPX控件我找了很多地方也没下载下来,你有吗能不能将这个控件给我?谢谢QQ:27958870jsw0525@163.com
 
哪位有呀,能否给一个呀多谢
 
感谢:草原骏马;delphfans;apiao以及所有发言的朋友.这样还是不行,因为还跟电脑的分辨率有关,还有有些是宽屏的,有些是正方型的,总之和这些因素有关.所以,这样还是不行呀.不知道是不是必须采用mapX或者mapinfo了,这东东没用过,找了很久也没找到哪里可以下载,有哪位朋友知道这控件哪里有下载?以及有没有别的办法
 
http://www.2ccc.com/search.asp?KeyWord=mapx
 
hellbeast这个网址打不开呀谢谢
 
你是在自己处理坐标相关的问题,建议你在动手之前,先了解一些与空间处理相关的基本概念和做法,比如说屏幕坐标和用户坐标,如何在屏幕上显示一个具有空间坐标的对象,如何进行坐标转换。你的问题是在数据库中存储了屏幕坐标,但是屏幕坐标随机器变。处理的方法可以如下:1、定义一套用户坐标,定义显示的坐标转换算法。2、采用世界坐标和通用坐标转换算法。
 
谢谢lzlishl的回答.草原骏马,在吗?你的这做法是不行呀,电脑的分辨率改变了怎么办?
 
我觉得楼主适合去搞销售高中解XI几何加编程就可以搞定,自已搞不定在这里问来问去,干脆叫人帮你写代码算了
 
以上情况,如何在同样的分辨率下,虽然有误差,但不是很大,还勉强可以。但是电脑一旦改了分辨率就又全部变了怎么跟分辨率挂钩,真的没想好。roadexplorer,你就冒打击我落不晓得才向大家请教的来,谢谢
 
我搞不懂,这个怎么和分辨率扯上关系了刚才有所冒失,不过很多问题要独立思考
 
哦是这样的,假如你在地图上北京的位置放一个按钮做标识(这个按钮标识是通过算法确定在什么位置的)比如我今天在A电脑上记住了在北京的坐标位置为(300,15),电脑分辨率为1024*768我明天在另外一台电脑上操作,从数据库里面取出(300,15)这个坐标,然后在这个位置生成一个按钮.此时,这台电脑的分辨率为800*600.那么生成的按钮坐标虽然也是(300,15),但位置却不在地图上的北京的位置呀不晓得我说清楚了没
 
也就是说,假设分辨率为800*600时一个点位置的坐标(200,100),那么当分辨率变成1024*768时这个点的坐标是多少了,如何计算,谢谢指原来(200,100)的哪个位置,现在的坐标是多少了?
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
909
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部