www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik pic32 mmb Grafiklibrary Schriftgrösse


Autor: Frank P. (Firma: student) (f_p_aus_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag,
Ich habe mir ein Multimediaboard mit eine PIC32 von der Firma 
Mikroelektronika gekauft (PIC32mmi) und versuche gerade an den 
Schriftarten und gössen zu verstehen. Es gibt ein Demoprogramm, indem 
Schriftarten über der Grafiklibrary programmiert sind (GOLFont), diese 
scheinen aber nicht zu funktionieren. Entweder gibt es keine Änderung 
oder die Schrift bleibt gleich.
Schön wäre es wenn die Textbox aus der Library verschiedene 
Schriftgrössen annehmen kann.
Weis jemand wie das geht?
Könnte mir jemand ggf ein kleines Beipielprogramm schreiben.
Ich nutze die MBLAB und die von MC mitgelieferte GraficLibrary
Ich komme nämlich gerade kein Stück weiter und muss mit dem Programm im 
Dezember fertig werden.
Vielen Dank
Frank

Autor: Andreas G. (beastyk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Frank,

poste doch mal bitte einen Link zu der Mikroelektronika Seite wo man 
auch mal dein Board sehen kann.
Es wäre bestimmt von Vorteil wenn du deinen bisher geschriebenen Code 
auch hier rein postest! Sonst weiß keiner ob du vielleicht nur die 
Library falsch eingebunden hast, or whatever...

gruß
andi

Autor: F_P_aus_K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das ist er Link zum Board:
[[http://www.mikroe.com/eng/products/view/318/pic32m...]]

und probiere gerade mit diese Codeschnipseln rum:
static const XCHAR text1[] = "Test 1";
static const XCHAR text2[] = {'T','E','S','T','2',0};
extern const FONT_FLASH GOLMediumFont;
void StartScreen(void)
{
  #define SS_ORIGIN_X    ((GetMaxX()-316+1)/2)
  #define SS_ORIGIN_Y    ((GetMaxY()-140+1)/2)

  /*
    SetColor(BLACK); 
    ClearDevice();      
  SetColor(BRIGHTRED);
    SetFont((void*)&FONTDEFAULT);
*/
  SHORT textHeight;
  SetColor(BLACK); 
    ClearDevice();      
  SetColor(BRIGHTRED);
   SetFont((void*)&FONTDEFAULT);
    textHeight = GetTextHeight((void*)&GOLMediumFont);
  WAIT_UNTIL_FINISH(OutTextXY(0,0*textHeight, (XCHAR*)text1)); // Text 1

    MoveTo((GetMaxX()-GetTextWidth((XCHAR*)text2,(void*)&FONTDEFAULT))>>1,SS_ORIGIN_Y+122); // Text positionieren
    WAIT_UNTIL_FINISH(OutText((XCHAR*)text2)); // Text 2
}


Ich würde gern die Schriftgrösse ändern, es ist aber egal welcher Wert 
in textHeight geschrieben wird, die Höhe ändert sich nicht. Auch die 
Änderung in der Fontstructur zeigt nicht die gewünschte Wirkung.
extern const char L11903[] __attribute__((aligned(2)));
//FONT NAME CAN BE CHANGED HERE.
const FONT_FLASH    GOLFontDefault = {0,L11903};
//const struct{short mem; const char* ptr;} GOLFontDefault = {0,L11903};
const char L11903[] __attribute__((aligned(2))) = {
0x00,0x00,0x1C,0x00,0x7F,0x00,0x1c,0x00,0x0F,0x98,0x01,0x00,0x0F,0xD0,0x01,0x00,0x0F,0x08,0x02,0x00,0x0F,0x40,0x02,0x00,0x05,0x78,0x02,0x00,0x07,0x94,0x02,0x00,0x0A,
0xB0,0x02,0x00,0x0B,0xE8,0x02,0x00,0x0B,0x20,0x03,0x00,0x11,0x58,0x03,0x00,0x10,0xAC,0x03,0x00,0x06,0xE4,0x03,0x00,0x08,0x00,0x04,0x00,0x08,0x1C,0x04,0x00,0x0B,0x38,
0x04,0x00,0x0A,0x70,0x04,0x00,0x06,0xA8,0x04,0x00,0x08,0xC4,0x04,0x00,0x06,0xE0,0x04,0x00,0x0B,0xFC,0x04,0x00,0x0B,0x34,0x05,0x00,0x0B,0x6C,0x05,0x00,0x0C,0xA4,0x05,
0x00,0x0B,0xDC,0x05,0x00,0x0C,0x14,0x06,0x00,0x0B,0x4C,0x06,0x00,0x0B,0x84,0x06,0x00,0x0B,0xBC,0x06,0x00,0x0C,0xF4,0x06,0x00,0x0B,0x2C,0x07,0x00,0x06,0x64,0x07,0x00,
0x06,0x80,0x07,0x00,0x0B,0x9C,0x07,0x00,0x0B,

Laut Doku ist das 8te Word das für die Fonthöhe.

Kann mir da jemand helfen. Irgendwie muss das doch gehen.

vielen Dank
Frank

Autor: Frank P. (Firma: student) (f_p_aus_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich habe diesen Beitrag versehentlich als Gast geschrieben. 
Sorry.
Frank

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Die Fontstruktur muss pro Textgrössen neu erstellt werden dafür hat 
Microchip ein Tool: Zu finden unter:
..\pic32mx4_mmb_examples_v200\MMB32 
Examples\Microchip\Graphics\Utilities\Graphics Resource Converter

Mit diesen Converter die gewünschte Textgrösse generieren und in deinen 
Code einfügen

Gruss Manuel

Autor: Frank P. (Firma: student) (f_p_aus_k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Manuel, hat funktioniert!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.