Я пытаюсь нарисовать линию в QImage и показать ее в Qlabel. Однако у меня есть некоторые проблемы, которые я не могу решить.
QPixmap px;
px.fromImage (imgRaw); // define in header file QImage imgRaw;
QPainter p (&px);
p.setPen (Qt::red);
p.drawLine (mouseStart_X, mouseStart_Y, mouseReleased_X, mouseReleased_Y);
p.end ();
ui->lblRightImg->setPixmap (px);
ui->lblRightImg->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
ui->lblRightImg->setScaledContents(true);
Когда я использовал этот код выше, он дает такую ошибку:
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setPen: Painter not active
QPainter::end: Painter not active, aborted
Затем я меняю свой код, потому что он пытается рисовать в нулевом растровом изображении, поэтому после изменения кода следующим образом:
QPixmap px(100, 100);
px.fromImage (imgRaw); // define in header file QImage imgRaw;
Затем он дает зашумленное изображение (черно-серое прерывистое изображение)
Не могли бы вы помочь мне решить эту проблему?
РЕДАКТИРОВАТЬ :
Также пробовал:
QPixmap px = QPixmap::fromImage (imgRaw);
Затем он дает такое же изображение без какого-либо рисунка.