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) 公共函数后。
版权声明: 本文为独家原创稿件,版权归 乐数软件 ,未经许可不得转载。