如何用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改为其他格式

最好不要用QPainter类来添加一个编辑框,(用QPainter类来自己画一个编辑框吗.不可想象.) 如果想在画图板上添加一个编辑框,直接new 一个lineEdit然后show出来就可以了.


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存