| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖, 1 人收藏
标题:PictureBox 坐标精度的问题
只看楼主 加入收藏
lh69417
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-3-18
结帖率:66.67%
收藏(1)
已结贴  问题点数:16 回复次数:3 
PictureBox 坐标精度的问题
'注意:这里设置Picture1、Picture2的ScaleWidth和ScaleHeight都是相同的
'但取坐标值时,Picture2不能得到保留四位小数的精确值而Picture1可以,可能与鼠标点击处坐标X和Y为单精度浮点型变量有关
'在不改变Picture2.Scale的设置条件下,Picture2如何取到保留四位小数的精确值?

Private Sub Form_Load()
Picture1.Scale (0, 1000)-(1000, 0)
Picture2.Scale (3278426.2345, 657915.4422)-(3279426.2345, 656915.4422)
'这里设置Picture1、Picture2的ScaleWidth和ScaleHeight都是相同的
End Sub

Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Label1.Caption = "X:" & Format(x, "0.0000") & ", Y:" & Format(y, "0.0000")
End Sub

Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Label2.Caption = "X:" & Format(x, "0.0000") & ", Y:" & Format(y, "0.0000")
End Sub
搜索更多相关主题的帖子: 如何 
2014-04-01 09:26
茅十八
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:35
专家分:123
注 册:2014-3-11
收藏
得分:16 
扩大picture2的边框大小,提高鼠标单击处的位置精度

个人QQ:1789851851,有学习问题,欢迎找我讨论,另外Win32 SDK开发群:179492890
2014-04-03 21:56
lh69417
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-3-18
收藏
得分:0 
回复 2楼 茅十八
你的方法不可行,鼠标事件获得的坐标x、y是单精度浮点型的,只有4个字节,整数位数较长后,小数位数就减少了。
如果你有办法,将鼠标事件获得的坐标允许是双精度型(8个字节),这事就ok了。
2014-04-10 14:57
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4943
专家分:30067
注 册:2008-10-15
收藏
得分:0 
首先,屏幕的 精度是: 72像素每英寸。   一般情况下WIN平台都是这样的。
所以,你再多的小数,每像素的值是固定的。而鼠标点击的位置,最多也只能做到 像素 点为止。
系统产生的小数,也就是用 鼠标的坐标(像素)折算成内部坐标(单精度浮点)再多的小数位没有任何意义。
在这种情况下,你要提高精度:只能放大图像后,然后 自己计算这个换算关系 。

授人于鱼,不如授人于渔
早已停用QQ了
2014-04-10 17:00
快速回复:PictureBox 坐标精度的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011632 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved