gpt4 book ai didi

c++ - 使用Qt在图像上绘制文字

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:33:25 25 4
gpt4 key购买 nike

我想在图片上绘制文字。我使用此代码,但在图像上看不到任何文字。

void ImageSaver::save(const QString &path) const {       
QImage image(img_);
QPainter p(&image);
p.setPen(QPen(Qt::red));
p.setFont(QFont("Times", 12, QFont::Bold));
p.drawText(image.rect(), Qt::AlignCenter, "Text");
image.save(path);
}

最佳答案

QPainter 必须在图像有效之前完成 I/O 操作。您可以 QPainter 对象销毁后执行此操作,也可以使用begin/end 方法。

bool ImageSaver::save(const QString &path) const {    
QImage image(img_);
QPainter p;
if (!p.begin(&image)) return false;

p.setPen(QPen(Qt::red));
p.setFont(QFont("Times", 12, QFont::Bold));
p.drawText(image.rect(), Qt::AlignCenter, "Text");
p.end();

return image.save(path);
}

P.S.:我添加了 bool 返回值以更好地跟踪错误。

关于c++ - 使用Qt在图像上绘制文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38156612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com