OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2936|回复: 1

读取bmp图片的分辨率

[复制链接]

17

主题

35

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1105
金钱
1105
注册时间
2015-10-13
在线时间
134 小时
发表于 2015-10-29 15:35:00 | 显示全部楼层 |阅读模式
5金钱
如何读取bmp图片的分辨率信息?

最佳答案

查看完整内容[请看2#楼]

[mw_shl_code=c,true]/*定义BYTE为无符号一个字节的类型*/ typedef unsigned char BYTE; /*定义WORD为无符号两个字节的类型*/ typedef unsigned short WORD; /*定义DWORD为无符号四个字节的类型*/ typedef unsigned long DWORD; /*位图文件头*/ typedef struct BMP_FILE_HEADER { WORD bType; /* 文件标识符 */ DWORD bSize; /* 文件的大小 */ WORD bReserved1; /* 保留值,必须设置为0 */ ...
逻辑和语言都很重要~~~
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

16

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1292
金钱
1292
注册时间
2014-12-20
在线时间
534 小时
发表于 2015-10-29 15:35:01 | 显示全部楼层
[mw_shl_code=c,true]/*定义BYTE为无符号一个字节的类型*/ typedef unsigned char BYTE; /*定义WORD为无符号两个字节的类型*/ typedef unsigned short WORD; /*定义DWORD为无符号四个字节的类型*/ typedef unsigned long DWORD; /*位图文件头*/ typedef struct BMP_FILE_HEADER { WORD bType; /* 文件标识符 */ DWORD bSize; /* 文件的大小 */ WORD bReserved1; /* 保留值,必须设置为0 */ WORD bReserved2; /* 保留值,必须设置为0 */ DWORD bOffset; /* 文件头的最后到图像数据位开始的偏移量 */ } BMPFILEHEADER; /*位图信息头*/ typedef struct BMP_INFO { DWORD bInfoSize; /* 信息头的大小 */ DWORD bWidth; /* 图像的宽度 */ DWORD bHeight; /* 图像的高度 */ WORD bPlanes; /* 图像的位面数 */ WORD bBitCount; /* 每个像素的位数 */ DWORD bCompression; /* 压缩类型 */ DWORD bmpImageSize; /* 图像的大小,以字节为单位 */ DWORD bXPelsPerMeter; /* 水平分辨率 */ DWORD bYPelsPerMeter; /* 垂直分辨率 */ DWORD bClrUsed; /* 使用的色彩数 */ DWORD bClrImportant; /* 重要的颜色数 */ } BMPINF; int main() { FILE *fpin = NULL; BMPFILEHEADER fileHeader = { 0, 0 }; BMPINF infoHeader = { 0, 0 }; DWORD offset = 0, width = 0, height = 0, bitCount = 0; //打开文件 if((fpin = fopen("Picture.bmp", "rb")) == NULL) { return 1; //错误,返回1 } //把fpin指针移动到文件开头 fseek(fpin, 0, 0); //获取文件头数据 fread(&fileHeader, sizeof(fileHeader), 1, fpin); //获取信息头数据 fread(&infoHeader, sizeof(infoHeader), 1, fpin); //计算并输出位图数据的偏移量,图像的宽度和高度,每个像素的位数 offset = fileHeader.bOffset; width = infoHeader.bWidth; height = infoHeader.bHeight; bitCount = infoHeader.bBitCount; //关闭文件 fclose(fpin); while(1); return 0; //正确,返回0 }[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 16:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表