www.pudn.com > armzhiwenshibie.rar > hz16_16.c


#include "config.h" 
 
 
 
const uint8 hz1[][32]={ 
//一[16*16]横排 
{  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
   0x00,  0x00,  0x00,  0x00,  0x00,  0x04, 0x0FF, 0x0FE, 
   0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00, 
   0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00,  0x00 
}, 
 
//提[16*16]横排 
{  0x10,  0x08,  0x11, 0x0FC,  0x11,  0x08,  0x11,  0x08, 
  0x0FD, 0x0F8,  0x11,  0x08,  0x15,  0x08,  0x19, 0x0F8, 
   0x30,  0x00, 0x0D7, 0x0FE,  0x10,  0x20,  0x11,  0x28, 
   0x11,  0x3C,  0x11,  0x20,  0x52, 0x0A6,  0x24,  0x7C 
}, 
//取[16*16]横排 
{   0x01,  0x00, 0x0FF,  0x80,  0x22,  0x00,  0x23, 0x0FC, 
   0x3E,  0x04,  0x22,  0x84,  0x22,  0x88,  0x3E,  0x88, 
   0x22,  0x48,  0x22,  0x50,  0x22,  0x20,  0x3E,  0x50, 
  0x0E2,  0x48,  0x42,  0x8E,  0x03,  0x04,  0x02,  0x00 
}, 
//指[16*16]横排 
{  0x11,  0x00,  0x11,  0x08,  0x11,  0x1C,  0x11, 0x0E0, 
  0x0FD,  0x02,  0x11,  0x02,  0x14, 0x0FE,  0x18,  0x04, 
   0x31, 0x0FE, 0x0D1,  0x04,  0x11,  0x04,  0x11, 0x0FC, 
   0x11,  0x04,  0x11,  0x04,  0x51, 0x0FC,  0x21,  0x04 
}, 
//纹[16*16]横排 
{  0x10,  0x80,  0x10,  0x40,  0x20,  0x40,  0x20,  0x04, 
   0x4F, 0x0FE, 0x0FA,  0x08,  0x11,  0x10,  0x21,  0x10, 
   0x40, 0x0A0, 0x0FC, 0x0A0,  0x00,  0x40,  0x00, 0x0A0, 
   0x1C, 0x0A0, 0x0E1,  0x10,  0x42,  0x0E,  0x04,  0x04 
} 
}; 
 
//const int8 hz1[]="一提取指纹"; 
//const int8 hz2[]="二保存指纹"; 
//const int8 hz3[]="三返回"; 
//const int8 hz1[]="一提取指纹"; 
//const int8 hz1[]="一提取指纹"; 
extern uint8 dcb2dex_tab[]; 
//const uint8 dcb2dex_tab[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}; 
/**************************************************************************** 
* 名称:GUI_PutChar24() 
* 功能:显示ASCII码(24*24字体),显示值为20H-7FH(若为其它值,则显示' ')。 
* 入口参数: x		指定显示位置,x坐标 
*           y		指定显示位置,y坐标 
*           ch		要显示的ASCII码值。 
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。 
* 说明:操作失败原因是指定地址超出有效范围。 
****************************************************************************/ 
 
uint8  GUI_Put16_16(uint32 x, uint32 y)//, uint8 **hz, uint8 num) 
{  uint8   font_dat; 
   uint8   i, j, k; 
 
	 
   /* 参数过滤 */ 
   if( x>(GUI_LCM_XMAX-16) ) return(0); 
   if( y>(GUI_LCM_YMAX-16) ) return(0); 
   
   
   
   for(k=0;k<5;k++) 
   {  
	   for(i=0; i<16; i++)						// 显示共24行 
	   {  for(j=0; j<16; j++)					// 每行共24点 
	      {  // 若当前点为0、8、16点,读取点阵数据  
	         if((j==0)|(j==8)) font_dat = hz1[k][i*2+j/8];      
	         // 设置相应的点为color或为back_color  
	         if( (font_dat&dcb2dex_tab[j%8])==0 ) GUI_Point(x, y, RED); 
	            else  GUI_Point(x, y, GREEN);  
	         x++; 
	      } 
	       
	      y++;									// 指向下一行 
	      x -= 16;								// 恢复x值 
	   } 
	   y-=16; 
	   x+=16; 
   } 
   return(1); 
}