Qt保存图片时为图片添加水印
时间: 2023-09-22 11:08:26 浏览: 187
要在Qt中为图片添加水印,可以使用QPainter类在图片上绘制文本或图像。以下是一个示例代码,演示如何在保存图片时添加水印:
```cpp
QString filename = "image.jpg"; // 要保存的图片文件名
QString watermarkText = "My Watermark"; // 水印文本
QImage image(filename); // 加载图片
// 在图片上绘制水印文本
QPainter painter(&image);
painter.setPen(Qt::white); // 设置文本颜色
painter.setFont(QFont("Arial", 16)); // 设置字体
painter.drawText(image.rect(), Qt::AlignBottom|Qt::AlignRight, watermarkText); // 绘制文本
// 保存带水印的图片
if(image.save("watermarked_image.jpg")) {
qDebug() << "Image saved with watermark";
}
```
如果要添加图像水印,可以使用QPixmap类加载水印图像,并使用QPainter在图片上绘制。例如,以下代码演示如何在图片右下角添加水印图像:
```cpp
QString filename = "image.jpg"; // 要保存的图片文件名
QString watermarkFilename = "watermark.png"; // 水印图像文件名
QImage image(filename); // 加载图片
QPixmap watermark(watermarkFilename); // 加载水印图像
// 在图片上绘制水印图像
QPainter painter(&image);
painter.drawPixmap(image.width()-watermark.width(), image.height()-watermark.height(), watermark);
// 保存带水印的图片
if(image.save("watermarked_image.jpg")) {
qDebug() << "Image saved with watermark";
}
```
注意,这只是示例代码,实际使用时还需要考虑文本和图像水印的位置、大小、透明度等参数,以及如何处理异常情况。
阅读全文