您的位置:首页 > 编程语言 > Qt开发

QT反锯齿

2015-06-24 14:27 295 查看
在用GDI+绘图时候,发现发大的png不会有锯齿,很漂亮,但是在qt中却有锯齿现象,因此网上查了一下,得到如下,确实有用,但还是不够gdi+平滑,由于贴图,因此用到了SmoothPixmapTransform

http://blog.chinaunix.net/uid-24219701-id-4044333.html

反走样是图形学中的重要概念,用以防止通常所说的“锯齿”现象的出现。很多系统的绘图 API 里面都内置了有关反走样的算法,不过由于性能问题,默认一般是关闭的,Qt 也不例外。

------------------------------------

QPainter::Antialiasing 告诉绘图引擎应该在可能的情况下进行边的反锯齿绘制

QPainter::TextAntialiasing 尽可能的情况下文字的反锯齿绘制

QPainter::SmoothPixmapTransform 使用平滑的pixmap变换算法(双线性插值算法),而不是近邻插值算法

------------------------------------

painter.setRenderHint(QPainter::Antialiasing, true);

我们通过这条语句,将Antialiasing属性(也就是反走样)设置为 true。经过这句设置,我们就打开了QPainter的反走样功能。

由于反走样需要比较复杂的算法,在一些对图像质量要求不是很高的应用中,是不需要进行反走样的。为了提高效率,一般的图形绘制系统,都是默认不进行反走样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: