Qt抗锯齿操作
- 2020 年 4 月 1 日
- 筆記
❝将图片,自绘形状,文本显示到屏幕时,它们的边缘都有不同的锯齿状,非常不好看。本文介绍一些抗锯齿的操作,让边缘更平滑,看起来好看点,但副作用是会额外的性能问题。❞
使用QPainter抗锯齿
QPainter painter(this); /* 尽可能消除锯齿边缘 */ painter.setRenderHint(QPainter::Antialiasing); /* 尽可能消除文本锯齿边缘 */ painter.setRenderHint(QPainter::TextAntialiasing); /* 启用线性插值算法以此来平滑图片 */ painter.setRenderHint(QPainter::SmoothPixmapTransform);
启用antialiasing属性
- QML中所有继承于Item的元素都具备antialiasing属性(默认不启用)。如:
Rectangle { antialiasing: true }
- 所有继承于QQuickItem类都具备设置抗锯齿属性(默认不启用)。如:
QQuickItem::setAntialiasing(true);