M1. BMP文件格式转换

2025-04-24

1.1 将16灰度BMP文件转换为4灰度BMP文件

函数名

unsigned long Convert_BMP_File ( char * pInFile,   char * pOutFile, unsigned long * pSize )

头文件

API-WiMiFile.h

静态库

WiMiFile.lib

动态库

WiMiFile.dll


形式

说明

参数一

char * pInFile

需要转换的原始BMP文件名称

参数二

char * pOutFile

指向一个已分配好实体内存空间的内存块,用于存储转换后的4灰度BMP文件名,文件的尾缀是bwrg

参数三

unsigned long * pSize

指向一个已分配好实体内存空间的4字节长整型变量,用于保存转换后文件名的有效长度,需要初始化为参数二“pOutFile”的实体内存空间的大小

返回值

0X00=操作成功

0X01=源文件名无效

0X02=打开源文件失败

0X03=源文件不是有效的BMP文件

0X04=文件调色板错误,不是16灰度的BMP文件

0X05=打开4灰度的bwrg文件失败,可能是用户操作权限不够


1.2 设置目标BMP文件的颜色位数

函数名

void SetBMPImageColor ( unsigned char iColor )

头文件

API-WiMiFile.h

静态库

WiMiFile.lib

动态库

WiMiFile.dll


形式

说明

参数一

unsigned char iColor

目标BMP文件的颜色位数

0X01:1-bit颜色,仅仅支持黑白两种颜色

0X02:2-bit颜色,仅仅支持黑色,白色,红色,三种厌恶

返回值



1.3 测试例子程序

#include <stdio.h>
#include "API-WiMiFile.h"
int main( int argc, char* argv[] )
{
   char buffer[0XFF];
   unsigned long dwSize;
   unsigned long dwRetVal;
   // The default input buffer size
   dwSize = sizeof( buffer );
   // Convert the BMP file
   dwRetVal = Convert_BMP_File( "D:\\BMP\\1.BMP", buffer, &dwSize );
   // Validate the operation status
   if ( dwRetVal != ERROR_SUCCESS )
   {
      printf( "Convert BMP File Failed,Error Code=0X%08lX\r\n", dwRetVal );
      return 0X00;
   }
   // The output file name and size
   printf( "Success!\r\nOutput File=%s,File Name Length=%lu\r\n", buffer, dwSize );
   
   // Exit the main program
   return 0X01;
}




1.4 测试程序说明


该程序首先转换一个BMP文件,如果失败,就打印出失败代码,如果成功,就打印出转换后的文件名称以及文件名称的长度。


阅读3
分享
写下您的评论吧