2012-05-09测试以下代码及工具可用,故记录下来。代码如下:
static void PutPixel(unsigned int x,unsigned int y, DWORD c )
{
if ( (x < 800) && (y < 480) )
*((unsigned int *)IMAGE_EBOOT_FRAMEBUFFER_UA_START + 800*y + x) = c;
}
static void drawmat(char *mat,int matsize,int x,int y, DWORD color)
/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/
{int i,j,k,n;
n=(matsize-1)/8+1;
for(j=0;j<matsize;j++)
for(i=0;i<n;i++)
for(k=0;k<8;k++)
if(mat[j*n+i]&(0x80>>k)) /*测试为1的位则显示*/
PutPixel(x+i*8+k,y+j,color);
}
static void OEMShowWaitTXT(DWORD LcdType)/* Add by ZMF */
{
#if 1
//系统升级
drawmat((char*)xi16S,16,160-16*2,60,0xffffff);
drawmat((char*)tong16S,16,160-16,60,0xffffff);
drawmat((char*)sheng16S,16,160,60,0xffffff);
使用Unicode点阵字模工具在Bootloader中显示32x32字库

本文记录了如何利用Unicode点阵字模生成工具创建32x32汉字字库,并在Bootloader程序中通过`PutPixel`函数显示文字的代码实现。主要包括`PutPixel`、`drawmat`等关键函数的使用,以及显示'升级'和'系统'等汉字的实例。
最低0.47元/天 解锁文章
5774

被折叠的 条评论
为什么被折叠?



