首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

qt绘图坐标系统变更

2013-01-23 
qt绘图坐标系统变化默认原点在左上角,我绘制两个点1,1和2,2,两个点。2,2点应该在1,1点的右下角,drawPoint(1

qt绘图坐标系统变化
默认原点在左上角,我绘制两个点1,1和2,2,两个点。2,2点应该在1,1点的右下角,drawPoint(1,1)和drawPoint(2,2)。
我想将原点移动到左下角。绘制时2,2点应该在1,1点的右上角。
但是我想绘制两个点仍然用原来的x和y坐标数值,drawPoint(1,1)和drawPoint(2,2)。
请问有什么好方法吗?
[解决办法]
1:首先通过下面文章,获取显示器或者桌面的长宽,假如获取的长宽为:l,w;
http://blog.csdn.net/zhb123168/article/details/6744982
2:移动Qt的坐标系,用translate(0, w),把坐标系移动到屏幕的左下角;
3:至于坐标仍然保持之前的(1, 1) 和 (2, 2),那么你可以在画点的时候,调用自己写的一个函数,把相差的坐标给计算出来,比如在左下角的坐标的话,之前的(1, 1)其实是左下角的(1, -1), 之前的(2, 2)其实是左下角的(2, -2),那就在函数里面,把对应的x,y值给校正下就好了.


//x没有变化
y = -y; //y变为负值了

[解决办法]
其实就是设备坐标和逻辑坐标的问题,google一下。
[解决办法]
首先得知道你定义你的画布大小,Qt默认的横坐标向右,纵坐标向下。然后用translate函数确定原点。scale(1, -1);这一行使得纵坐标向上。然后画点就对啦。。

热点排行