欧美精品区,亚洲精品无码AV片,十四以下岁毛片带血A级,av免费不卡国产观看

Ultimaker2Malin——ultimakerTextGfx轉(zhuǎn)成lcd_buffer數(shù)據(jù)格式 

2016-12-05 10:13
170159hejxznuioefaau5a.webp

測(cè)試代碼:
#include
#include
#include
#include "common.h"

const uint8_t ultimakerTextGfx[]= {
    128, 21, //size
   0x6,0x6,0x6,0x6,0xfe,0xfe,0xfe,0xfe,0xfc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
   0xfc,0xfe,0xfe,0xfe,0xfc,0x0,0x0,0x0,0xe,0xfe,0xfe,0xfe,0xfe,0x0,0x0,0xe0,
   0xfc,0xfe,0xfe,0xfc,0xe0,0xe0,0x0,0x0,0x0,0xce,0xce,0xce,0x0,0x0,0x0,0xc0,
   0xc0,0xc0,0xc0,0xc0,0xc0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0xc0,0xc0,0x80,
   0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x80,
   0x80,0x0,0x0,0x0,0x0,0x6,0xfe,0xfe,0xfe,0xfe,0x0,0x0,0x0,0x0,0x80,0xc0,
   0xc0,0xc0,0x0,0x0,0x0,0x0,0x0,0x0,0x80,0x80,0xc0,0xc0,0xc0,0x80,0x80,0x80,
   0x0,0x0,0x0,0x0,0xc0,0xc0,0xc0,0xc0,0x0,0x80,0xc0,0xc0,0xc0,0xc0,0x80,0x0,

   0x0,0x0,0x0,0x0,0x7f,0xff,0xff,0xff,0xff,0x80,0x0,0x0,0x0,0x0,0x0,0x80,
   0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0x0,
   0xff,0xff,0xff,0xff,0x0,0x0,0x0,0x0,0x0,0xff,0xff,0xff,0x0,0x0,0x0,0x81,
   0xf1,0xff,0xff,0x3f,0xf,0x3f,0xff,0xfc,0xf0,0xf0,0xfc,0xff,0x3f,0xf,0x3f,0xff,
   0xfe,0xf8,0x80,0x0,0x0,0x0,0xc1,0xe1,0xf1,0xf1,0x71,0x31,0x1,0x1,0x83,0xff,
   0xff,0xff,0xfc,0x0,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0xc,0x3e,0xff,0xff,0xf7,
   0xc3,0x1,0x0,0x0,0x0,0xfc,0xfe,0xff,0x87,0x3,0x11,0x31,0x31,0x33,0x3f,0x3f,
   0x3f,0x1e,0x0,0x0,0x1,0xff,0xff,0xff,0xff,0x7,0x3,0x1,0x1,0x1,0x1,0x0,

   0x0,0x0,0x0,0x0,0x0,0x1,0x3,0x7,0x7,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
   0x7,0x7,0x7,0xf,0xf,0x6,0x0,0x0,0x0,0x7,0xf,0xf,0x7,0x0,0x0,0x0,
   0x7,0xf,0xf,0x7,0x0,0x0,0x0,0x0,0x0,0xf,0xf,0xf,0x0,0x0,0x6,0xf,
   0xf,0x7,0x1,0x0,0x0,0x0,0x1,0x7,0xf,0xf,0x7,0x1,0x0,0x0,0x0,0x1,
   0x7,0xf,0xf,0x6,0x0,0x0,0x3,0x7,0xf,0xf,0xe,0xe,0x6,0x7,0x3,0x7,
   0xf,0xf,0x7,0x0,0x0,0x0,0x7,0xf,0xf,0x7,0x0,0x0,0x0,0x0,0x3,0xf,
   0xf,0xf,0x6,0x0,0x0,0x0,0x3,0x7,0x7,0xf,0xe,0xe,0xe,0xe,0xe,0xe,
   0x6,0x0,0x0,0x0,0x0,0xf,0xf,0xf,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0
};

#define LCD_GFX_WIDTH 128
#define LCD_GFX_HEIGHT 64
uint8_t lcd_buffer[LCD_GFX_WIDTH * LCD_GFX_HEIGHT / 8];

static inline uint8_t pgm_read_byte(const void* ptr)
{
    return *(constuint8_t*)ptr;
}

void lcd_lib_draw_gfx(uint8_t x, uint8_t y, const uint8_t*gfx)
{
    uint8_t w =pgm_read_byte(gfx++);             //w=128
    uint8_t h =(pgm_read_byte(gfx++) + 7) / 8; //h=3
    uint8_t shift = y % 8;                        //shift=6
    uint8_t shift2 = 8 -shift;                     //shift2=2
    y /= 8;                                         //y=2
                                        //x=0

    for(; h; h--)
    {
       if (y >= LCD_GFX_HEIGHT / 8) break;

       uint8_t* dst0 = lcd_buffer + x + y *LCD_GFX_WIDTH;
       uint8_t* dst1 = lcd_buffer + x + y *LCD_GFX_WIDTH + LCD_GFX_WIDTH;
       for(uint8_t _w = w; _w; _w--)
       {
           uint8_t c= pgm_read_byte(gfx++);
           *dst0++ |=c << shift;
           if (shift&& y < 7)
              *dst1++ |= c >>shift2;
       }
       y++;
    }
}

void main()
{
    unsigned int i,j,k;
     charb='#';
     charc='*';
     chard='@';
    initgraph(8*128, 16*64);
    lcd_lib_draw_gfx(0, 22, ultimakerTextGfx);

    for(i=0;i<8;i++)//8行掃描
    {
        for(k=0;k<8;k++)//字節(jié)8位掃描
         {
            for(j=0;j<128;j++)//128列掃描
             {   
                 if( lcd_buffer[i*128+j]&(0x01<<k))
                 {      
                     outtextxy(j*8, (i*8+k)*16, b);
                 }
             }
         }
    }
    getch();
    closegraph();
}
測(cè)試結(jié)果:
聲明:3D打印資源庫(3dzyk)內(nèi)網(wǎng)友所發(fā)表的所有內(nèi)容及言論僅代表其本人,并不代表3D打印資源庫(3dzyk)觀點(diǎn)和立場(chǎng);如對(duì)文章有異議或投訴,請(qǐng)联系kefu@3dzyk.cn。
B Color Smilies
Ultimaker2Malin——ultimakerTextGfx轉(zhuǎn)成lcd_buffer數(shù)據(jù)格式