More actions
Created page with "*'''48x96 English font modulo description''' :The size settings are as shown below: :750px :The modulo data is as follows (click to open): ::[http://ww..." |
No edit summary |
||
| (One intermediate revision by the same user not shown) | |||
| Line 3: | Line 3: | ||
:[[File:Module-023.png|750px]] | :[[File:Module-023.png|750px]] | ||
:The modulo data is as follows (click to open): | :The modulo data is as follows (click to open): | ||
::[https://www.lcdwiki.com/res/PublicFile/ | ::[https://www.lcdwiki.com/res/PublicFile/48x96_ASCII_data.txt '''48x96 English ASCII modulo data'''] | ||
:The function is defined as follows: | :The function is defined as follows: | ||
{{code|1= | {{code|1= | ||
void | void LCD_Show_9648_char(u16 x,u16 y,u16 fc, u16 bc, u8 num,u8 mode) | ||
{ | { | ||
u32 temp; | u32 temp; | ||
u8 pos,t; | u8 pos,t,i; | ||
u16 colortemp=POINT_COLOR; | u16 colortemp=POINT_COLOR; | ||
num=num-' ';//Get the offset value | num=num-' ';//Get the offset value | ||
LCD_SetWindows(x,y,x+ | LCD_SetWindows(x,y,x+48-1,y+96-1);//Set a single text display window | ||
if(!mode) //Non-overlay mode: The font has a background color, which will overwrite the original display | if(!mode) //Non-overlay mode: The font has a background color, which will overwrite the original display | ||
{ | { | ||
for(pos=0;pos< | for(pos=0;pos<96;pos++) | ||
{ | { | ||
for(i=0;i<2;i++) | |||
{ | |||
temp = (asc2_9648[num][pos*6+i*3]<<16)<nowiki>|</nowiki>(asc2_9648[num][pos*6+i*3+1]<<8)<nowiki>|</nowiki>asc2_9648[num][pos*6+i*3+2];//Call 9648 font, you need to take the model definition | |||
for(t=0;t<24;t++) | |||
{ | |||
if(temp&0x800000) | |||
{ | |||
Lcd_WriteData_16Bit(fc); | |||
} | |||
else | |||
{ | |||
Lcd_WriteData_16Bit(bc); | |||
} | } | ||
temp<<=1; | |||
} | } | ||
} | |||
} | |||
} | } | ||
else//Overlay mode: the font does not have a background color, and is directly superimposed and displayed on the original display content | else//Overlay mode: the font does not have a background color, and is directly superimposed and displayed on the original display content | ||
{ | { | ||
for(pos=0;pos< | for(pos=0;pos<96;pos++) | ||
{ | { | ||
temp = ( | for(i=0;i<2;i++) | ||
{ | |||
temp = (asc2_9648[num][pos*6+i*3]<<16)<nowiki>|</nowiki>(asc2_9648[num][pos*6+i*3+1]<<8)<nowiki>|</nowiki>asc2_9648[num][pos*6+i*3+2];//Call 9648 font, you need to take the model definition | |||
for(t=0;t<24;t++) | |||
{ | |||
POINT_COLOR=fc; | |||
if(temp&0x800000) | |||
{ | |||
LCD_DrawPoint(x+i*24+t,y+pos);//Draw a point | |||
} | |||
temp<<=1; | |||
} | |||
} | } | ||
} | } | ||
} | } | ||
POINT_COLOR=colortemp; | POINT_COLOR=colortemp; | ||
LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//Restore window to full screen | LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//Restore window to full screen | ||
<nowiki>}</nowiki> | <nowiki>}</nowiki> | ||
}} | }} | ||
Latest revision as of 13:58, 12 June 2023
- 48x96 English font modulo description
- The size settings are as shown below:

- The modulo data is as follows (click to open):
- The function is defined as follows:
void LCD_Show_9648_char(u16 x,u16 y,u16 fc, u16 bc, u8 num,u8 mode)
{
u32 temp;
u8 pos,t,i;
u16 colortemp=POINT_COLOR;
num=num-' ';//Get the offset value
LCD_SetWindows(x,y,x+48-1,y+96-1);//Set a single text display window
if(!mode) //Non-overlay mode: The font has a background color, which will overwrite the original display
{
for(pos=0;pos<96;pos++)
{
for(i=0;i<2;i++)
{
temp = (asc2_9648[num][pos*6+i*3]<<16)|(asc2_9648[num][pos*6+i*3+1]<<8)|asc2_9648[num][pos*6+i*3+2];//Call 9648 font, you need to take the model definition
for(t=0;t<24;t++)
{
if(temp&0x800000)
{
Lcd_WriteData_16Bit(fc);
}
else
{
Lcd_WriteData_16Bit(bc);
}
temp<<=1;
}
}
}
}
else//Overlay mode: the font does not have a background color, and is directly superimposed and displayed on the original display content
{
for(pos=0;pos<96;pos++)
{
for(i=0;i<2;i++)
{
temp = (asc2_9648[num][pos*6+i*3]<<16)|(asc2_9648[num][pos*6+i*3+1]<<8)|asc2_9648[num][pos*6+i*3+2];//Call 9648 font, you need to take the model definition
for(t=0;t<24;t++)
{
POINT_COLOR=fc;
if(temp&0x800000)
{
LCD_DrawPoint(x+i*24+t,y+pos);//Draw a point
}
temp<<=1;
}
}
}
}
POINT_COLOR=colortemp;
LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//Restore window to full screen
}