像素坐标与逻辑坐标的转换

像素坐标与逻辑坐标的转换需要两个要素,视窗坐上角的位置与视窗的大小

像素坐标(1024*768) X:0——1024 Y:0——768

逻辑坐标(0——1)

public Point PixelToLogical(Point pixel)
{
//ViewportOrigin显示图片的左上角
Point offset = ViewportOrigin;
       
double scale = ViewportWidth /ActualWidth;


Point logical
= new Point((pixel.X * scale) + offset.X, (pixel.Y * scale) + offset.Y);
return logical;
}

在此基础上面,还可以进行逻辑坐标与自定义坐标的转换,其核心思想是一致的,就是要知道坐上角的坐标与右下角的坐标,这样就可以坐标直接的比例进行换算了,这是我想到的比较简单的解决办法,但是处理投影坐标的时候会有变形,不知道有没有其他简单的解决办法,知道的留言啊

转载于:https://www.cnblogs.com/junyuz/archive/2011/04/21/2023826.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值