Qt - QImage翻译使用

时间:2014-05-05 11:43:11

标签: image qt qt4

我正在开始使用Qt的QTransform。 我正在尝试翻译一个简单的图像,但我不能这样做!在表单中,我有一个名为“rulo”的标签和一个按钮,点击时会触发以下代码。

void MainWindow::on_pushButton_clicked()
{
    QImage canvas = QImage("/home/andresdido/Descargas/ruleta.png","PNM");

    // QImage canvas;
    QTransform translating;
    QImage trasladada;

    qreal ancho = (qreal) canvas.width()/2;
    qreal alto = (qreal) canvas.height()/2;

    translating.translate(ancho,alto);

    trasladada=canvas.transformed(translating);
    ui->rulo->setPixmap(QPixmap::fromImage(trasladada));

    return;

}

QImage,canvas和trasladada都是一样的!就好像翻译根本没有效果一样。 (显然,两个Qimage也看起来都一样,因为他们的“数据”完全相同)。

我已经看到这里有一个未回答的主题,在某种程度上类似于: Qt image move/rotation 关于为什么翻译没有效果的任何想法?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用以下示例代码执行相同的操作:

QImage canvas = QImage("source.png");
QImage trasladada(canvas.width(), canvas.height(), QImage::Format_ARGB32);
trasladada.fill(Qt::white);

QPainter painter(&trasladada);
qreal ancho = canvas.width() / 2.0;
qreal alto = canvas.height() / 2.0;    
painter.drawImage(QPointF(ancho, alto), canvas);   

ui->rulo->setPixmap(QPixmap::fromImage(trasladada));