Qt绘图类QPainter负责大多数绘图 GUI 程序所需的功能。
它可以绘制任何东西,从简单的图形点线面(由QPoint、QLine、QRect、QRegion和QPolygon类表示)到矢量路径(矢量图)等复杂形状。
矢量图就是无论这个图放大或者缩小,都不会失真,也就是绝对不会出现锯齿,模糊不清晰, 比如建筑cad图,房屋的平面图等等, 矢量图也是有缺点的,它的色彩不够丰富,做不出逼真图像的效果,所以应用的范围有限。
矢量图制作软件代表Adobe Illustrator 和 CorelDRAW。
常见矢量图格式svg,ai,cdr。
在 Qt 中,由QPainterPath类来表示画笔路径。
QPainterPath为绘画操作提供了一个容器,可以构建和重用图形形状。
画笔路径是由直线和曲线组成的对象。例如,矩形由直线组成,椭圆由曲线组成。
与普通绘图操作相比,画笔路径的主要优点是复杂的形状只需要创建一次;
然后它们可以只调用QPainter::drawPath () 函数多次绘制。
QPainterPath对象可用于填充、勾画轮廓和裁剪。
要为给定的画笔路径生成可填充的轮廓,使用QPainterPathStroker类。
线条和轮廓是使用QPen类绘制的。
笔由其样式(即其线型)、宽度、画笔、端点的绘制方式以及两条连接线之间的连接方式定义。
笔刷是一个QBrush对象,用于填充用笔生成的笔画,即QBrush类定义了填充图案。
QPainter还可以绘制对齐的文本和像素图。
绘制文本时,使用QFont类指定字体。Qt 将使用具有指定属性的字体,或者如果不存在匹配的字体,Qt 将使用最匹配的已安装字体。可以使用QFontInfo类检索实际使用的字体的属性。此外,QFontMetrics类提供字体测量,QFontDatabase类提供有关底层窗口系统中可用字体的信息。
通常,QPainter在“自然”坐标系中绘制,但它能够使用QTransform类执行视图和世界转换。
QPainter ::Antialiasing值表示引擎应该尽可能对图元的边缘进行抗锯齿处理,即通过使用不同的颜色强度来平滑边缘。
使用QBrush类填充形状。画笔由其颜色和样式(即填充图案)定义。
Qt 中的任何颜色都由支持 RGB、HSV 和 CMYK 颜色模型的QColor类表示。QColor还支持 alpha 混合轮廓和填充(指定透明效果),并且该类与平台和设备无关(使用 QColormap 类将颜色映射到硬件)。有关详细信息,请参阅QColor类文档。
可用的填充图案由Qt::BrushStyle枚举描述。这些包括从统一颜色到非常稀疏图案的基本图案、各种线条组合、渐变填充和纹理。Qt 提供了QGradient类来定义自定义渐变填充,而纹理图案是使用QPixmap类指定的。
QGradient类与QBrush结合使用以指定渐变填充。
Qt 目前支持三种类型的渐变填充:

版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/14622.html