/**
* Reverse bmp file
* Author: Benson
*/
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void Symmetric(unsigned char* img,unsigned char* data,int lineSize,int h) {
// 上下对称算法
for(int i =0; i < h; i++) {
for(int j = 0; j < lineSize; j++) {
img[i*lineSize + j] = data[lineSize*(h - 1 - i) + j];
}
}
}
/**
* 读取360*360 bmp 单色文件(biBitCount = 1)
* 实现图像倒转功能
*/
void reverseBmp(char *fname) {
unsigned char head[54]; // 头文件(14bytes) + 信息文件(40bytes) = 总共(54bytes)
unsigned char palette[8]; // 调色板(8bytes)
FILE *f = fopen(fname,"rb"); // 原始文件
FILE *of = fopen("reverse.bmp","wb"); // 生成文件
fread(head, 1, 54, f); // 读取头文件
fread(palette, 1,8, f); // 读取调色板
int w = head[18] + ( ((int)head[19]) << 8) + ( ((int)head[20]) << 16) + ( ((int)head[21]) << 24); // 读取宽度
BMP文件图像上下对称[C]
最新推荐文章于 2023-02-10 12:21:51 发布
本文介绍如何使用C语言实现BMP文件的上下对称翻转,通过读取图像数据,重新排列像素位置,达到图像反转的效果。
摘要由CSDN通过智能技术生成