小磷光一

从BMP图片格式的数据中提取图像数据并将其显示于屏上的功能

0
阅读(1733)

 

****************************************************************************/ 
#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)
	{

	}
}