Lasse Madsen wrote:
> Hej
>
> Jeg har på et tidspunkt set at nogen havde lavet et BMP billed med en
> komplet font
> (altså alle bokstaver/tal) og på en eller anden snedig måde lavede de en
> form for "grid" i det billed i C hvor de kunne lave noget ala
>
> lcd_putchar('a');
>
> og så var der en rutine der kunne gå ind "i billedet" og finde 'a' jeg kunne
> forestille mig at man havde et array med billedet i og hvis displayet er
> 320x240px ville arrayet vel være på f.eks. ( displayet's databåndbredde er
> 8bit )
>
> unsigned char font[9600];
>
> vidste man så på en eller anden måde at et 'A' lå i "position" 0,0 til 20,0
> i første linje og stopper på position 20,20
>
Man kunne lave:
char font[128][8];
Hvor 8 er antallet af linier der bruges til hvert tegn og
128 er antallet af tegn.
Man kunne så lave "fonten" med:
char font[128][8] =
{
{
....
},
....
{
0x08,
0x14,
0x22,
0x41,
0x7F,
0x41,
0x41,
0x41,
},
};
Det indikerede bogstav skulle gerne blive til et A.
Vær dog opmærksom på at nogle displays vil have
data lodret og andre vandret.
Er det til et embedded project? Hvor mange pixels vil
du have pr. tegn? Jeg mener at have et par fonte
i det format til at ligge.
>
> evt. en rutine til at af "dekode" JPG eller GIF til BMP ville være lækkert
Det er ret let at læse en .bmp-fil, bortset fra at der findes
mange typer bmp-filer. Se f.ex:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_1rw2.asp
jpeg billeder er lidt mere besværlige at læse.
Jeg har vist nogle stumper kode til at ligge som kan læse bmp-filer.
Hvis det er til windows kunne du blot læse hele bmp'en og bruge
BitBlt til at tegne de enkelte tegn.
/b