标签:ima size log color 生成 class .com images ret
先看一下效果图,全屏是全了,但是效果非常很一般(差)
放大的原理是使用最初级的算法,直接取对应像素法。
1 /** 2 * 生成zoom 缩放表 3 */ 4 int make_zoom_tab() 5 { 6 int i; 7 zoom_x_tab = (int *)malloc(sizeof(int) * NES_DISP_WIDTH); 8 if(NULL == zoom_x_tab) 9 { 10 printf("make zoom_x_tab error\n"); 11 return -1; 12 } 13 for(i=0; i<NES_DISP_WIDTH; i++) 14 { 15 zoom_x_tab[i] = i*lcd_width/NES_DISP_WIDTH; 16 } 17 zoom_y_tab = (int *)malloc(sizeof(int) * NES_DISP_HEIGHT); 18 if(NULL == zoom_y_tab) 19 { 20 printf("make zoom_y_tab error\n"); 21 return -1; 22 } 23 for(i=0; i<NES_DISP_HEIGHT; i++) 24 { 25 zoom_y_tab[i] = i*lcd_height/NES_DISP_HEIGHT; 26 } 27 return 1; 28 } 29 30 static int lcd_fb_display_px(WORD color, int x, int y) 31 { 32 unsigned char *pen8; 33 unsigned short *pen16; 34 //从缩放表中取出对应的颜色值 35 x = zoom_x_tab[x]; 36 y = zoom_y_tab[y]; 37 pen8 = (unsigned char *)(fb_mem + y*line_width + x*px_width); 38 pen16 = (unsigned short *)pen8; 39 *pen16 = color; 40 41 return 0; 42 }
马上更新高级点的放大算法。
标签:ima size log color 生成 class .com images ret
原文地址:http://www.cnblogs.com/ningci/p/6755623.html