• 4298阅读
  • 1回复

请问如何在一个图片里加入另外一张图片,在保存为一张图片 [复制链接]

上一主题 下一主题
离线anjing186
 
只看楼主 倒序阅读 楼主  发表于: 2010-02-06
— 本帖被 午小夜 执行加亮操作(2010-02-06) —
如题:qt中如何调入一张图片,再在这张图上写字,贴图,然后保存成另外的图片,谁能具体的告诉我,怎么作阿,最好给个完成的代码或者demo。。。
谢谢大大们。。。在线等。。。无限感激。。。。
离线anjing186
只看该作者 1楼 发表于: 2010-02-06
我自己解决了,贴出来:


合并图片:
    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));
    }
}
快速回复
限100 字节
 
上一个 下一个