新手上路
- 积分
- 35
- 金钱
- 35
- 注册时间
- 2016-1-6
- 在线时间
- 8 小时
|
1金钱
本帖最后由 xiaopaopao 于 2016-1-13 09:57 编辑
这是常见的从SD卡读取BMP图片的部分 能帮我逐行解释下什么意思吗,有些地方不懂
res = f_open(&fsrc, aa, FA_OPEN_EXISTING | FA_READ); //打上图片文件名
res = f_read(&fsrc, &bmp, sizeof(bmp), &br);
if((bmp.pic_head[0]=='B')&&(bmp.pic_head[1]=='M'))
{
res = f_lseek(&fsrc, ((bmp.pic_data_address_h<<16)|bmp.pic_data_address_l));
for(tx=0;tx<bmp.pic_h_l;tx++)
{
f_read(&fsrc, buffer, (bmp.pic_w_l)*3, &br);
for(ty=0;ty<bmp.pic_w_l;ty++)
{
r_data = *(ty*3 +2+buffer);
g_data = *(ty*3 +1+buffer);
b_data = *(ty*3 +0+buffer);
if(tx<320)
{
point.x = tx;
point.y = ty;
point.r = r_data;
point.g = g_data;
point.b = b_data;
//如果用提供资料上的屏驱动,Drawpirel函数里面的X,Y是u8,要改成u16
LCD_SetPoint(point.x ,point.y,RGB888ToRGB565(point.r,point.g,point.b));
}
|
|