Qt学习笔记八 二维图形(2) 坐标系统变换
2015-10-21 23:12
363 查看
在 Qt 中,可以改变系统默认的屏幕坐标系。
在 QPainter 默认的坐标系中,点 (0,0) 位于屏幕的左上角, X 轴向右, Y 轴向下。每个像素占 1x1 大小。
1. 移动坐标系,改变坐标系原点 (0,0) 位置:
通过 QPainter ::setWindow(); 可以移动坐标系原点和设置大小。例如:
painter. setWindow(- 50 , - 50 , 100 , 100 );
这个函数将坐标系原点移动到了屏幕的中间位置,屏幕大小为 100x100 。从屏幕物理坐标系的角度看,逻辑坐标系的 (0,0) 点位于物理坐标系 (50,50) 位置,而逻辑坐标系的 (50,50) 点则对应整个屏幕的右下角。
2. 旋转坐标系:
通过 QPainter ::rotate() 可以对逻辑坐标系进行旋转。例如:
painter. rotate( 45.0 );
这个函数将逻辑坐标系顺时针旋转了 45 °。此时, X 轴从屏幕左上角向屏幕右下角延伸, Y 轴有屏幕右上角向屏幕左下角延伸。
from: http://blog.csdn.net/zhaotaobenny/article/details/6184251
在 QPainter 默认的坐标系中,点 (0,0) 位于屏幕的左上角, X 轴向右, Y 轴向下。每个像素占 1x1 大小。
1. 移动坐标系,改变坐标系原点 (0,0) 位置:
通过 QPainter ::setWindow(); 可以移动坐标系原点和设置大小。例如:
painter. setWindow(- 50 , - 50 , 100 , 100 );
这个函数将坐标系原点移动到了屏幕的中间位置,屏幕大小为 100x100 。从屏幕物理坐标系的角度看,逻辑坐标系的 (0,0) 点位于物理坐标系 (50,50) 位置,而逻辑坐标系的 (50,50) 点则对应整个屏幕的右下角。
2. 旋转坐标系:
通过 QPainter ::rotate() 可以对逻辑坐标系进行旋转。例如:
painter. rotate( 45.0 );
这个函数将逻辑坐标系顺时针旋转了 45 °。此时, X 轴从屏幕左上角向屏幕右下角延伸, Y 轴有屏幕右上角向屏幕左下角延伸。
from: http://blog.csdn.net/zhaotaobenny/article/details/6184251
相关文章推荐
- QT下简易画板实现
- 用Qt实现2D绘图
- Qt学习之路(31): 一个简易画板的实现(QWidget)
- 一步步学Qt,第七天-QPainter绘图QRect定位问题
- 自学QT之windeployqt工具的使用
- Qt Resize与布局的冲突?
- 自学QT之简易音乐播放器基于QT5.5
- QT——信号与槽
- SBC37x交叉编译平台QT+OPENCV
- Qt 的线程与事件循环
- Qt 线程基础(QThread、QtConcurrent等)
- qt中调用shell脚本并监控返回的方法
- QThread之简单并行
- QXml
- Qt获取系统环境变量
- QT【绘图】 QPaintDevice 总结:QPixmap、QImage、QBitmap和QPicture
- QT图片有彩到灰
- Qt小技巧(1)
- Qt中如何获取某个控件的指针地址
- QT 如何实现使用 QPainter 的 drawPixmap() 函数将图片文件绘制到一个 QLabel、QPushButton 或者其他的一些设备上?