从BMP图片格式的数据中提取图像数据并将其显示于屏上的功能
0赞
发表于 7/2/2012 10:27:39 PM
阅读(2914)
****************************************************************************/
#include "../dm_bf5xx.h"
#include "../dm_types.h"
section ("sdram0") unsigned char DisplayBuffer[262][960] ;
section ("sdram0") unsigned char TempBuffer_img[262][960] ;
section ("sdram0") unsigned char Inputdata[251574]={
#include "testmm2.dat"
/****************************************************************************
* 名称 : gbrtorgb24
* 功能 : 从BMP格式图片中提取RGB数据
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
void gbrtorgb24(void)
{
int_t i,j;
int_t a,b;
for(i=0;i<262;i++)
{
for(j=0;j<960;j++)
{
TempBuffer_img[i][j] = Inputdata[i*960+j+54];
}
}
for(i=0;i<262;i++)
{
for(j=0;j<320;j++)
{
a = TempBuffer_img[i][j*3];
b = TempBuffer_img[i][j*3+2];
TempBuffer_img[i][j*3] = b;
TempBuffer_img[i][j*3+2] = a;
}
}
for(i=0;i<262;i++)
{
for(j=0;j<960;j++)
{
DisplayBuffer[i][j] = TempBuffer_img[261-i][j];
}
}
}
/****************************************************************************
* 名称 : main
* 功能 : TFT显示图片测试函数
* 入口参数 :无
* 出口参数 :无
****************************************************************************/
int main()
{
Set_PLL(22,5); //配置内核时钟为594M,系统时钟为118.8M
Init_SDRAM();
Init_EBIU();
Init_Flash();
lcd_init();
gbrtorgb24();
Init_PPIDMA(DisplayBuffer);
Init_Platform_TFT();
while(1)
{
}
}
