QT | QPainter,PaintEvent,setRenderHint(防止图形走样)

  1. 反走样是图形学中的重要概念,用以防止通常所说的“锯齿”现象的出现。很多系统的绘图 API 里面都内置了有关反走样的算法,不过由于性能问题,默认一般是关闭的,Qt 也不例外。
//QPainter::Antialiasing           告诉绘图引擎应该在可能的情况下进行边的反锯齿绘制
//QPainter::TextAntialiasing       尽可能的情况下文字的反锯齿绘制
//QPainter::`SmoothPixmapTransform`  使用平滑的pixmap变换算法(双线性插值算法),而不是近邻插值算
  • 1
  • 2
  • 3
painter.setRenderHint(QPainter::Antialiasing, true);
  • 1
  1. 我们通过这条语句,将Antialiasing属性(也就是反走样)设置为
    true。经过这句设置,我们就打开了QPainter的反走样功能。

  2. 由于反走样需要比较复杂的算法,在一些对图像质量要求不是很高的应用中,是不需要进行反走样的。为了提高效率,一般的图形绘制系统,都是默认不进行反走样的。

painter->setRenderHints(QPainter::SmoothPixmapTransform);//消锯齿 
后面使用drawPixmap绘图。
  • 1
  • 2
posted @ 2023-07-14 08:43  mkmkbj  阅读(419)  评论(0编辑  收藏  举报