Linux下LCD图片放大缩小实现,嵌入式基于Linux、ARM的LCD的BMP图片的缩小、任意位置显示...

更多资料请点击:我的目录

本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。

这一片是关于开发板800480的LCD显示屏显示BMP图片的,可以通过参数设置,将各种像素大小的BMP图片在任意位置显示,在800480像素范围内的BMP图像可以直接在任意位置显示,而大于800*480像素范围的则需要先将BMP图片先缩小,再设置位置。显示方式是使用内存映射方式(mmap),刷图显示速度比较快。

下面为封装好的BMP图像显示函数

//显示任意位置大小缩放的BMP图片

bool showbmp(char *bmppath, int n)//调用函数传参,bmppath为路径名,n缩小倍数

{

int w = 0;

int h = 0;

int src = open(bmppath , O_RDWR);//打开BMP图片文件

lseek(src, 18 ,SEEK_SET);//获取BMP图片的宽w信息

read(src, &w, 4);

lseek(src, 22 ,SEEK_SET);//获取BMP图片的高h信息

read(src, &h, 4);

char bmpbuf[w*h*3];

int lcdbuf[w*h];

int tempbuf[w*h];

lseek(src, 54, SEEK_SET);//跳过BMP图片头信息字节

int rubbish = (4-(w*3)%4)%4;//BMP图片字节不能被4整除时,加入的垃圾字节数

for(i

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值