图像解码播放器

1.开发环境

硬件:PC(主机Win7 X64,虚拟机ubuntu14.04) + 开发板(X210)

软件:linux(直接基于linux API)

开发板uboot(uboot可以在iNand中,也可以在外部SD卡中)。

移植好的内核(zImage在tftp服务器中,或者zImage直接fastboot方式烧录到iNand中)。

自己做的rootfs。

2.Makefile介绍

这是一个通用的项目管理的Makefile体系,自己写的分子文件夹组织的项目可以直接套用这套

Makefile体系

包含三类:顶层Makefile、Makefile.build、子文件夹下面的Makefile。

交叉编译工具链的位置:

在顶层Makefile里面加上交叉编译工具链的路径:

 

 

在子Makefile里面:

在Makefile.build里面是一个纯规则文件,指导编译能进入到子文件夹里面去,编译子文件夹,并且

能把他们连接过来,并形成一种依赖。

3.开始动手写代码

 

framebuffer基本操作代码 E:\课件&代码\随堂代码\6.小项目\6.小项目\dpicture\display

4.图片显示原理

概念1:像素

概念2:点阵

分辨率(物理分辨率、显示分辨率)

清晰度(分辨率和像素间距有关)像素间距相同时,分辨率越大越清晰;分辨率相同时,像素间距

越小越清晰。

bpp(RGB565、RGB888)像素深度,每个像素用多少bit数据表示

颜色序(RGB、BGR)

5.图片数据提取和显示

Image2LCD提取图片数据

软件下载:http://www.cr173.com/soft/43222.html

软件使用:

-> 一般不要图像头数据,只需要纯数据;

-> 一般水平扫描;

-> 一般选24位真彩色(即RGB888);

-> 选1024*600后,点右边按钮更新;

-> 输出图像调整中,可以调整RGB。

-> 最后点击保存。

图片显示实践:

void fb_draw_picture(void)
{
    unsigned char* pdata=gImage_1024600;  //指针指向图像数组
    unsigned int i,j,cnt;
    unsigned int*p=pfb;
 
    for(i=0;i<HEIGHT;i++)
    {
	for(j=0;j<WIDTH;j++)
	{
             cnt=i*WIDTH+j;  //当前像素点的编号
             cnt*=3;
   	     *p=((pdata[cnt+0]<<0)|(pdata[cnt+1]<<8)|(pdata[cnt+2]<<16));//当前像素点的数据,可以在这里修改,达到正确的显示(当RB相反时)
	     p++;
	}
    }
}

6.BMP图片的显示

图片文件是二进制文件,文件分两种,即二进制文件、文本文件;

不同格式的图片文件的差别:

-> 图片被压缩与否的区别,压缩格式从差别。

BMP文件如何识别:

-> 每种图片格式都有定义好的一种识别方法,BMP图片特征是以0x424D开头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式_笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值