Vitdom Skrivet 18 Februari 2009 Rapport Skrivet 18 Februari 2009 (redigerat) Tja, jag håller på och programmerar lite för G15 Keyboard LCDn. Nu är det så att jag inte kan få igång en del(där t.ex funktioner för att skriva text på LCDn finns) av SDKet som följer med produkten, så därför har jag bestämt att skapa egna funktioner. När man skriver på LCDns bitmap som ser ut såhär: char pixels[160*43]; så är värden >=128 "på" och <128 är "av". För att bespara mig energi varje gång jag håller på med pixlarna har jag skapat en funktion som förenklar detta: void setPixel(lgLcdBitmap160x43x1* bmp, int x, int y, bool set = true) { bmp->pixels[y * 160 + x] = set?0xFF:0x00; } Origo är altså uppe i vänstra hörnet och x ökar åt höger och y ökar ner. Det jag behöver är nu hjälp med att hitta på algoritmer för att skriva text på dessa pixlar. http://www.logitech.com/lang/images/0/7687.jpg Redigerat 18 Februari 2009 av Vitdom Citera
PunkArne Skrivet 20 Februari 2009 Rapport Skrivet 20 Februari 2009 (redigerat) Ett tips av mig är att du har en 2d-array. char pixel[160][43]; Sen får du fixa en struct för en bokstav. De kanske är 12 px höga och 3 till 7 px breda. struct bitChar { char pixel[7][12]; char width; } Därefter bör du göra ett av varje tecken till en sådan struct (alternativt göra en funktion som läser in en fil + bitmapsbilder). Tilll sist är det en funktion för att skriva ut tecken på vissa positioner. Kanske så här. void (char** GPixel, const char x, const char y, const bitChar** letter) { for (int i = 0; i<bitChar->width; ++i) { for (int j=0; j<12; ++j) { GPixel[x+i][y+j] = letter[i][j]; } } } Det var vad jag orkade lägga ner tid på att tänka ut. Men jag tyckte att detta verkade vara de funktioner som behövdes. Sedan kan man bygga ut med funktioner för att skriva textsträngar och få radbyten osv, men det får du klura ut själv. Redigerat 20 Februari 2009 av PunkArne Citera
Vitdom Skrivet 21 Februari 2009 Författare Rapport Skrivet 21 Februari 2009 (redigerat) Jo, jag antar väl att man får göra som du sa, skapa alla tecken för hand i en char vektor och sedan blitta dem på bitmappen. Typ det lättaste sättet om man inte ska använda några bibliotek i tredje part. Nu är text funktionen färdig! Fungerar utmärkt! Bara att den inte stödjer tecken som åäö och bara har en storlek. Redigerat 21 Februari 2009 av Vitdom Citera
Rekommendera inlägg
Gå med i konversationen
Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.