ILI9320 landscape

#3101364
Lesenswert?
• ▲
▼
die Ausrichtung wird durch die Schleifen
for( i=0; i<f_height; i++ ){...
for( j=0; j<f_width; j++ ){...
festgelegt. Durch ändern der Laufrichtung dieser Schleifen kann man 
spiegeln oder drehen.

Bildschirm im Querformat:
//=============================================
void PutChar( uint8_t ASCI)
 {  uint16_t i, j;
     uint16_t  tmp_char;
 //Fontheader auswerten
 //f_width= pgm_read_byte( &ptr_font[2]);
 //f_height=pgm_read_byte( &ptr_font[3]);
 //frame =pgm_read_byte( &ptr_font[4]);
 //vertikal_zeichnen=pgm_read_byte( &ptr_font[5]);
 //if (frame==1){f_width++;f_height+=2;}
if(ASCI<' '||ASCI>130)return;

 u16 Xpos=curposx;
 u16 Ypos=curposy;
 if(frame){
 //  if(!vertikal_zeichnen)Xpos=curposx-1+f_height;

 for(i=0;i<f_width +1;i++){
 //Gui_DrawPoint(Xpos+f_height+1-frame_vert_versatz,Ypos+f_width-i-1, 
backcolor );}
 Gui_DrawPoint(Xpos-frame_vert_versatz+i,Ypos+1+frame_horz_versatz, 
backcolor );}

 for(i=0;i<f_width +1;i++){
 Gui_DrawPoint( Xpos-frame_vert_versatz+i , 
Ypos-f_height+frame_horz_versatz,      backcolor );}

 for(i=0;i<f_height+1;i++){
 Gui_DrawPoint( Xpos-frame_vert_versatz,Ypos-i+frame_horz_versatz, 
backcolor );}

 //pos 1nach unten:
 Xpos++;//90°Bildschirm sonst ypos++
 }
 Xpos=curposx+1;




 if(vertikal_zeichnen){
 //Gui_DrawPoint(20,20,BLACK);
         for( j=0; j<f_width; j++ ){

  //      tmp_char = buffer[i];
  //         tmp_char = pgm_read_byte( 
&ptr_font[(ASCI-32)*f_width+j+7]);
           tmp_char = ( ptr_font[(ASCI-32)*f_width+j+7]);
 //lcd_int3(tmp_char);lw(" ");
     for( i=0; i<f_height; i++ ){
             if( (tmp_char >>((f_height-1) - i)) & (0x01 == 0x01) ){
                 Gui_DrawPoint( Xpos +j , Ypos -i , frontcolor );  // 
Character color
                // Gui_DrawPoint( Xpos +i , Ypos +j , frontcolor );  // 
Character color
             }else{
       if(backcolor!=TRANSPARENT)
       Gui_DrawPoint( Xpos +j, Ypos -i , backcolor );  // Background 
color
       //Gui_DrawPoint( Xpos + i, Ypos +j , backcolor );  // Background 
color

             }
         }
     }
 }else{
 //Xpos=curposx+2-f_height;
 /**/
 for( i=0; i<f_height; i++ ){




 //       tmp_char = buffer[i];
  // tmp_char = pgm_read_byte( 
&ptr_font[(ASCI-ascii_versatz)*f_height+i+7]);
   tmp_char = ( ptr_font[(ASCI-ascii_versatz)*f_height+i+7]);
 //tmp_char = ( f8x12[(ASCI-ascii_versatz)*f_height+i+7]);
 //testx[i]=f8x12[7+i+(ASCI-ascii_versatz)*f_height];
 //testy[i]=7+i+(ASCI-ascii_versatz)*f_height;
 //lcd_int3(tmp_char);lw(" ");

 for( j=0; j<f_width; j++ ){
             if( (tmp_char >>((f_width-1) - j)) & (0x01 == 0x01) ){
      Gui_DrawPoint( Xpos +j , Ypos +i , frontcolor );  // Character 
color
  //  Gui_DrawPoint( Xpos -i , Ypos +j , frontcolor );  // Character 
color
             }else{
         if(backcolor!=TRANSPARENT)
     Gui_DrawPoint( Xpos + j, Ypos +i , backcolor );
 //      Gui_DrawPoint( Xpos - i, Ypos +j , backcolor );  // Background 
color
             }
         }
     }
   }
 }

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.