如何理解Qt中的坐标体系

 时间:2024-10-15 02:31:06

1、从上图,我们可以看到,左边图形的原始大小,size即宽和高,对应它的矩阵模型,对使用的渲染工具像pen的绘鲽判砦吟制线条的粗细大小是进行忽略的。在混合绘图的时候,像素的渲染是由QPainter::Antialiasing这一枚举渲染配置项决定的。RenderHint枚举变量描述了QPainter的渲染选项,这些选项也许有的引擎是不支持的。QPainter::Antialiasing这个枚举项表示引擎会平滑图形的原始边缘,例如使用不同的彩色亮度平滑边缘。

如何理解Qt中的坐标体系

2、默认情况下,我们可以从上面左图看到,当使用1像素宽的pen去做图形渲染的时候,图形的渲染是从起点开始到右边数学意义上的点的下方。当使用偶数像素宽的pen去渲染的时候,像素是会被对称地渲染在数学意义上的点的周围的。当使用奇数像素宽的pen去渲染的时候,空余的像素会作为一个像素渲染在数学意义点的右下方。结合实际例子看一下:

如何理解Qt中的坐标体系

3、上图1是一个矩形的逻辑表示,图2是我们用1像素宽的pen渲染绘制的,也就是奇数像素情形,像素是在数学点的右下方进行渲染的。图3是两像素宽的pen绘制的,图4是三像素宽的pen绘制的,原理上和上面介绍的一样,都是在右下方进行渲染,奇数的空余像素在数学点的右下方以1像素进行填充。如果是抗锯齿绘图,即设置QPainter的anti-aliasing渲染选项,这时候,像素会被对称的在数学点的两边进行渲染填充。

如何理解Qt中的坐标体系

4、坐标变换:通常,QPainter在相关设备自己的坐标系里绘图,但也完全支持仿射坐标变换。我们可以通过QPainter::scale()函数缩放坐标系,通过rotate()函数旋转坐标系,通过translate()函数翻转坐标系通过shear()函数,我们可以扭转坐标系,通过worldTransform()函数我们可以获取QPainter的变换矩阵QTransform,这个里面的矩阵参数是可以查看的。

如何理解Qt中的坐标体系
  • 如何快速计算反正切值
  • 如何禁用非系统自带服务及禁止自动启动项目
  • 王者荣耀怎么克制梦奇
  • centos7.3更换窗口图标主题,更换黑色主题
  • 刺激战场QBZ95介绍
  • 热门搜索
    校园手抄报 伊索寓言手抄报 护林防火手抄报 向国旗敬礼手抄报内容 知法守法手抄报内容 历史手抄报版面设计图 低碳生活手抄报图片 古诗词手抄报内容 平安出行手抄报 关于元旦的英语手抄报