c语言给bmp图片加水印
时间: 2023-02-06 15:38:30 浏览: 134
基于C语言图片数据读出
在 C 语言中,可以使用如下的步骤来给 BMP 图片添加水印:
1. 打开图片文件,并读取图片文件头信息。
2. 读取图片像素数据,并将其存储在内存中。
3. 在内存中修改图片像素数据,实现对图片的修改。
4. 将修改后的图片像素数据写入新的 BMP 文件中。
下面是一个示例代码,可以帮助你理解这些步骤:
```c
#include <stdio.h>
#include <stdlib.h>
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef unsigned long DWORD;
#pragma pack(2)
typedef struct {
WORD bfType; // 文件类型
DWORD bfSize; // 文件大小
WORD bfReserved1; // 保留字1
WORD bfReserved2; // 保留字2
DWORD bfOffBits; // 像素数据偏移量
} BITMAPFILEHEADER;
#pragma pack()
#pragma pack(2)
typedef struct {
DWORD biSize; // 信息头大小
long biWidth; // 图片宽度
long biHeight; // 图片高度
WORD biPlanes; // 平面数
WORD biBitCount; // 颜色位数
DWORD biCompression; // 压缩方式
DWORD biSizeImage; // 图片大小
long biXPelsPerMeter; // 水平分辨率
long biYPelsPerMeter; // 垂直分辨率
DWORD biClrUsed; // 使用的调色板数
DWORD biClrImportant; // 重要的调色板数
} BITMAPINFOHEADER;
#pragma pack()
int main() {
// 打开图片文件
阅读全文