QGraphicsView中的平滑Pixmap转换不起作用

时间:2014-06-21 01:02:27

标签: c++ qt antialiasing qgraphicsview aliasing

注意:Antialiasing not working in QGraphicsView对我不起作用。

我正在尝试为QGraphicsView启用抗锯齿和/或平滑像素图转换。以下是整个计划。它成功地以20%的比例显示图像,但没有任何平滑。

我看过的所有地方,似乎都设置了QGraphicsPixmapItem的转换模式,QGraphicsView的渲染提示应该足够了,但在我的情况下都不起作用。

GraphicsView.pro

QT += core gui widgets
SOURCES += main.cpp

的main.cpp

#include <QApplication>
#include <QGraphicsView>
#include <QGraphicsScene>
#include <QGraphicsPixmapItem>
#include <QMainWindow>
#include <QPixmap>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QMainWindow window;
    QGraphicsScene scene;
    QGraphicsView view;
    QGraphicsPixmapItem item;
    QPixmap pixmap;

    pixmap.load("../textures/image.jpg");
    item.setTransformationMode(Qt::SmoothTransformation);
    item.setPixmap(pixmap);
    scene.addItem(&item);
    view.setScene(&scene);
    view.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
    view.scale(0.2, 0.2);
    window.setCentralWidget(&view);
    window.show();

    return a.exec();
}

0 个答案:

没有答案