从BMP图片格式的数据中提取图像数据并将其显示于屏上的功能
0赞
发表于 2012/7/2 22:27:39
阅读(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) { } }