社区
汇编语言
帖子详情
请教关于bmp文件的显示
Areslp
2003-12-29 02:24:29
256色的bmp文件的颜色信息1像素是4个字节吧,我想用ah=0ch,int 10h来画图,但是写像素时的颜色信息是存在al里的,只有一个字节,应该怎么办呢?
...全文
52
6
打赏
收藏
请教关于bmp文件的显示
256色的bmp文件的颜色信息1像素是4个字节吧,我想用ah=0ch,int 10h来画图,但是写像素时的颜色信息是存在al里的,只有一个字节,应该怎么办呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
紫郢剑侠
2003-12-30
打赏
举报
回复
在http://asm.yeah.net有关于BMP的资料.
WYC2300
2003-12-29
打赏
举报
回复
我的邮箱是:wyc2300@163.com
我的QQ:254734866
给我以后多多请教你的机会哦
Areslp
2003-12-29
打赏
举报
回复
谢谢lp_w3@hotmail.com
fancy0001
2003-12-29
打赏
举报
回复
上文是copy于yz文章《BMP文件格式分析》中,你留下email,我可以给你发原文,写的较细
fancy0001
2003-12-29
打赏
举报
回复
位图文件头包含有关于文件类型、文件大小、存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义:
typedef struct tagBITMAPFILEHEADER { /* bmfh */
UINT bfType;
DWORD bfSize;
UINT bfReserved1;
UINT bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER;
其中:
bfType
说明文件的类型.(该值必需是0x4D42,也就是字符'BM'。我们不需要判断OS/2的位图标识,这么做现在来看似乎已经没有什么意义了,而且如果要支持OS/2的位图,程序将变得很繁琐。所以,在此只建议你检察'BM'标识)
bfSize
说明文件的大小,用字节为单位
bfReserved1
保留,必须设置为0
bfReserved2
保留,必须设置为0
bfOffBits
说明从文件头开始到实际的图象数据之间的字节的偏移量。这个参数是非常有用的,因为位图信息头和调色板的长度会根据不同情况而变化,所以你可以用这个偏移值迅速的从文件中读取到位数据。
2. 位图信息头
位图信息用BITMAPINFO结构来定义,它由位图信息头(bitmap-information header)和彩色表(color table)组成,前者用BITMAPINFOHEADER结构定义,后者用RGBQUAD结构定义。BITMAPINFO结构具有如下形式:
typedef struct tagBITMAPINFO { /* bmi */
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;
其中:
bmiHeader
说明BITMAPINFOHEADER结构,其中包含了有关位图的尺寸及位格式等信息
bmiColors
说明彩色表RGBQUAD结构的阵列,其中包含索引图像的真实RGB值。
BITMAPINFOHEADER结构包含有位图文件的大小、压缩类型和颜色格式,其结构定义为:
typedef struct tagBITMAPINFOHEADER { /* bmih */
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;
其中:
biSize
说明BITMAPINFOHEADER结构所需要的字数。注:这个值并不一定是BITMAPINFOHEADER结构的尺寸,它也可能是sizeof(BITMAPV4HEADER)的值,或是sizeof(BITMAPV5HEADER)的值。这要根据该位图文件的格式版本来决定,不过,就现在的情况来看,绝大多数的BMP图像都是BITMAPINFOHEADER结构的(可能是后两者太新的缘故吧:-)。
biWidth
说明图象的宽度,以象素为单位
biHeight
说明图象的高度,以象素为单位。注:这个值除了用于描述图像的高度之外,它还有另一个用处,就是指明该图像是倒向的位图,还是正向的位图。如果该值是一个正数,说明图像是倒向的,如果该值是一个负数,则说明图像是正向的。大多数的BMP文件都是倒向的位图,也就是时,高度值是一个正数。(注:当高度值是一个负数时(正向图像),图像将不能被压缩(也就是说biCompression成员将不能是BI_RLE8或BI_RLE4)。
biPlanes
为目标设备说明位面数,其值将总是被设为1
biBitCount
说明比特数/象素,其值为1、4、8、16、24、或32
biCompression
说明图象数据压缩的类型。其值可以是下述值之一:
BI_RGB:没有压缩;
BI_RLE8:每个象素8比特的RLE压缩编码,压缩格式由2字节组成(重复象素计数和颜色索引);
BI_RLE4:每个象素4比特的RLE压缩编码,压缩格式由2字节组成
BI_BITFIELDS:每个象素的比特由指定的掩码决定。
biSizeImage
说明图象的大小,以字节为单位。当用BI_RGB格式时,可设置为0
biXPelsPerMeter
说明水平分辨率,用象素/米表示
biYPelsPerMeter
说明垂直分辨率,用象素/米表示
biClrUsed
说明位图实际使用的彩色表中的颜色索引数(设为0的话,则说明使用所有调色板项)
biClrImportant
说明对图象显示有重要影响的颜色索引的数目,如果是0,表示都重要。
Areslp
2003-12-29
打赏
举报
回复
up一下,强人们能来说说bmp文件的结构吗?比如256色的从哪个字节开始是颜色信息,这个象素是从图片的哪个位置开始的,还有就是里面的rgb分量在汇编显示时应该怎么用?希望有人来解答一下,谢谢!
C# MVC架构设计
定义控制器类,定义四种Action视图(View视图,Json视图,File视图,
Bmp
视图),可返还网页,json,
文件
和图片。 3.实现类似原生MVC参数映射,包括复合模型的映射,参数直接写在Action中。 4.实现ActionFilter,提供...
图像
文件
转换实验:
BMP
toYUV
它采用位映射存储格式,除了图像深度可选以外,在绝大多数应用中不采用其他任何压缩,因此,
BMP
文件
所占用的空间很大。
BMP
文件
的图像深度可选lbit、4bit、8bit、16bit及24bit。
BMP
文件
存储数据时,图像的扫描方式是...
bmp
文件
解析
[size=xx-large]解析
bmp
图像[/size] 今天做了一个很好玩的东西————
bmp
图片解析器。刚看到的时候我觉得超难,完全不 懂,做出来之后,觉得其实很简单!接下来就让我来介绍一下吧! 在真正做解析器之前我们...
bmp
图像读取
显示
保存问题
我想界面就是两个框加3个按钮,左中右排列,左边为图像
显示
区(
显示
将被检测的人脸图片),中间为按钮区(1.打开图片,2.检测,3.退出程序),右边为检测结果区(输出与检测人脸匹配的图片和信息) ...
bmp
图片灰度化和二值化
C语言去除
bmp
图片的背景一、前言二、灰度化头
文件
C
文件
三、二值化 一、前言 图像处理中,大部分的处理方法都需要事先把彩色图转换成灰度图才能进行相关的计算、识别。 彩色图转换灰度图的原理如下: 我们知道彩色...
汇编语言
21,459
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章