在 C 语言中添加水印到 BMP 格式的图片,需要打开该图片文件,然后读取其文件头和像素数据。然后,可以在像素数据上绘制水印文本或图像。最后,将修改后的像素数据写回文件中,并关闭文件。
以下是一个简单的示例代码,用于在 BMP 图片的右下角添加水印文本:
``` #include <stdio.h> #include <stdlib.h> #include <string.h>
#define WATERMARK_TEXT "Watermark"
int main(int argc, char *argv[]) { // 检查参数 if (argc != 3) { printf("Usage: %s input_file output_file\n", argv[0]); return 1; }
// 打开输入文件 FILE *in_file = fopen(argv[1], "rb"); if (!in_file) { printf("Failed to open input file: %s\n", argv[1]); return 1; }
// 打开输出文件 FILE *out_file = fopen(argv[2], "wb"); if (!out_file) { printf("Failed to open output file: %s\n", argv[2]); fclose(in_file); return 1; }
// 读取文件头 unsigned char header[54]; fread(header, 1, 54,