我只是在乞求使用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,对于为什么翻译没有效果有什么想法吗?谢谢!
发布于 2014-05-05 12:28:02
您可以使用以下示例代码进行相同的操作:
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));https://stackoverflow.com/questions/23471612
复制相似问题