我自己解决了,贴出来:
合并图片:
m_label->clear();
QSize lBlack = m_BlackgroundImage.size();
QSize lq1 = m_Image1.size();
//设置合并后图片的大小
m_ResultImage = QImage(240, 320,QImage::Format_ARGB32);
QPainter *painter;
if(!m_ResultImage.isNull()){
painter = new QPainter(&m_ResultImage);
QPen thickPen(Qt::red,10);
painter->setPen(thickPen);
//在新区域画图
painter->drawImage(0, 0, m_BlackgroundImage);
painter->drawImage(50, 100, m_Image1);
//设置字体大小
QFont ft = font();
ft.setPointSize(30);
painter->setFont(ft);
//图片上显示的字
painter->drawText(100,100,QObject::tr("123"));
painter->end();
QImage displayImg = m_ResultImage.scaled(240, 320, Qt::KeepAspectRatio);
//m_ResultImage.setText(QObject::tr("12345"));
m_label->setPixmap(QPixmap::fromImage(displayImg));
}
保存图片的:
void CMySaveImage::saveImage()
{
if(m_ResultImage.isNull())
return;
QString fileName = QFileDialog::getSaveFileName(this, tr("保存图片"), QDir::currentPath(), tr("*.png;;*.jpg)"));
if (!fileName.isEmpty()) {
bool saveOK = m_ResultImage.save(fileName);
if(!saveOK)
QMessageBox::information(this, tr("错误提示"), tr("无法保存 %1.").arg(fileName));
}
}