在Linux系统中,使用CXImage库为图片添加水印可以通过以下步骤实现:
make
sudo make install
以下是一个简单的C++程序,演示如何使用CXImage库在图片上添加文本水印:
#include <iostream>
#include "CXImage.h"
int main() {
// 加载原始图片
CXImage image;
if (!image.Load("input.jpg")) {
std::cerr << "Failed to load image!" << std::endl;
return -1;
}
// 创建水印文本
const char* watermarkText = "Watermark";
int fontSize = 30;
int x = 10; // 水印起始x坐标
int y = image.GetHeight() - fontSize - 10; // 水印起始y坐标
// 设置字体颜色(白色)
image.SetTextColor(255, 255, 255);
// 设置字体大小
image.SetFontSize(fontSize);
// 在图片上绘制水印
image.TextOut(x, y, watermarkText);
// 保存带水印的图片
if (!image.Save("output_with_watermark.jpg")) {
std::cerr << "Failed to save watermarked image!" << std::endl;
return -1;
}
std::cout << "Watermark added successfully!" << std::endl;
return 0;
}
编译程序: 使用g++编译器编译上述代码,并链接CXImage库:
g++ -o add_watermark add_watermark.cpp -lcximage
运行程序: 执行编译后的可执行文件:
./add_watermark
CXImage::Load()加载水印图片,然后使用CXImage::AlphaBlend()方法将水印图片叠加到原始图片上。通过以上步骤,你可以在Linux系统中使用CXImage库为图片添加水印。