如何用QT实现在图片上叠加显示文字

如何用QT实现在图片上叠加显示文字,第1张

楼主不用在Widget上画了,直接用QImage来画,并直接存储.

QImage image = QPixmap("C:/Users/Administrator/Pictures/1.jpg").toImage()//绝对路径

//以你原来的那张图片

//构造一个image

QPainter painter(&image)//为这个QImage构造一个QPainter

painter.setCompositionMode(QPainter::CompositionMode_SourceIn)

//设置画刷的组合模式CompositionMode_SourceOut这个模式为目标图像在上。

//改变画笔和字体

QPen pen = painter.pen()

pen.setColor(Qt::red)

QFont font = painter.font()

font.setBold(true)//加粗

font.setPixelSize(50)//改变字体大小

painter.setPen(pen)

painter.setFont(font)

painter.drawText(image.rect(),Qt::AlignCenter,"Hello")

//将Hello写在Image的中心

int n = 100//这个为图片的压缩度。0/100

image.save("text.png","PNG",n)

//将画好的图片保存起来。

//可以将png改为其他格式

完全没看懂啊,

如果你想用QLabel来显示图片,直接调setPixmap来显示就ok了啊.

如果你想用paintEvent来显示图片用QWidget就ok了啊.

你用Qlabel又有paintEvent 是想闹哪样...


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11559182.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存