setRenderHint 设置渲染提示 公共函数


setRenderHint(QPainter::RenderHint hint, bool on=true) 公共函数用于设置渲染操作,譬如:

操作 说明 备注
QPainter::Antialiasing 0x01 尽可能消除图元边缘锯齿。 常用
QPainter::TextAntialiasing 0x02 尽可能消除文本锯齿。

要强制禁用文本抗锯齿,不要使用此提示。

应在字体样式策略中设置 QFont::NoAntialias。

QPainter::SmoothPixmapTransform 0x04 使用平滑像素图变换算法 (譬如:双线性) 而不是最近相邻。
QPainter::VerticalSubpixelPositioning 0x08

将文本定位在垂直和水平方向的像素分数处,若字体引擎支持。

目前所有平台中的 Freetype 都支持这,当提示首选 QFont::PreferNoHinting,及在 macOS。

这种用例可能是将字形与其它视觉原语对齐。

该值在 Qt 6.1 添加。

对于大多数用例,这不会提高视觉品质,但可能增加内存消耗且会降低一些文本渲染性能。

因此,不推荐启用此除非用例要求。

QPainter::LosslessImageRendering 0x40

使用无损图像渲染,每当可能时。

该值在 Qt 5.13 添加。

此提示才使用,当 QPainter 用于输出 PDF 文件透过 QPrinter or QPdfWriter,调用 drawImage()/drawPixma () 将使用无损压缩算法而不是有损 JPEG 压缩编码图像。

QPainter::NonCosmeticBrushPatterns 0x80

当采用具有某一预定义图案样式的笔刷进行描绘时,还要沿描绘对象变换图案。

该值在 Qt 6.4 添加。

默认是将图案视为化妆,以便将图案像素直接映射到设备像素,独立于任何活动变换。

setRenderHint 公共函数必须放在 QPainter 描绘器 begin(QPaintDevice * device) 公共函数后。

版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。

上一话题

setPen 公共函数

下一话题

begin 公共函数

快速搜索