bmp实现图像缩放

    bmp刷图是比较简单的,它需要注意的是bmp在windows系统下会自动生成54个字

节的头文件结构体信息,如果要在知道bmp图的图像尺寸的话,就可以用lseek函数直接跳过这54个字节直接读取自己想要的RGB图像数据,bmp图像不同的是它的图像读取顺序,是从左到右,从上到下,所以要刷到LCD屏幕中显示,需要进行颠倒图像数据。还有就是bmp图像RGB图像是3个字节即24位,但LCD一个像素点是4个字节,需要每3个字节刷到4个字节,跳过一个字节。

    因为在这次项目中,不是简单的把图刷进去,而是对不符合屏幕尺寸的图像可以自动识别并进行放大缩小来适应屏幕,所以事先是不知道图片的尺寸的,要利用bmp的头文件信息结构体知道该图像的长宽,所以就不能跳过这54个字节,而是跳过14的字节。以上是bmp图刷到LCD屏幕的所有注意事项,下面是实现代码。

#include "../inc/include.h"

typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned long  DWORD;
typedef long LONG;

typedef struct tagBITMAPINFOHEADER
{
	DWORD      biSize;
	LONG       biWidth;
	LONG       biHeight;
	WORD       biPlanes;
	WORD       biBitCount;
	DWORD      biCompression;
	DWORD      biSizeImage;
	LONG    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值