在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何取得適合自己屏幕大小的圖片?

      如何取得適合自己屏幕大小的圖片?

      作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
      如何取得適合自己屏幕大小的圖片,本人在搞TFT顯示圖片時浪費了好多時間,現(xiàn)把經(jīng)驗中總結(jié)下來的用法總結(jié)如下,供各位道上的學(xué)習(xí)TFT的參考。

      在你所學(xué)的arm開發(fā)板中,我用的是fm3(富士通mb9b系列的),如果例程中顯示圖片是用for(i=0;i

      本文引用地址:http://www.biyoush.com/article/201611/322270.htm

      {

      Write_data(tupian[i];)

      }

      我們都知道顏色是以雙字節(jié)來定義的,比如說0x0000表示black;

      如果你的例程中并不是write_data(高,低);(我記得stm32系列就是這么寫的)。那么上邊的i就要求用0xxxxx這種雙字節(jié)的數(shù)組來表示。不用再改總線,還要將數(shù)組移位,本人認(rèn)為如果例程不是你寫的就別來回改了,沒必要,

      先來看看我的例程,如下

      #define black 0x0000

      #define blue 0x001F

      #define green 0x07E0

      #define cyan 0x07FF

      #define red 0xF800

      #define yellow 0xFFE0

      #define white 0xFFFF

      #define LCD_WIDTH 240

      #define LCD_HEIGHT 320

      **************************************************************************

      void DrawPicture(uint xs,uint xe,uint ys,uint ye)

      {

      unsigned long int i;

      SetWindow(xs, xe, ys, ye);

      SetWindow_xy(xs,ys);

      write_command(0x0022);

      for (i=0;i<(xe*ye);i++)

      {

      write_data(qq[i]);

      // ili9320_Delay(50);

      }

      //Set_Cs;

      }

      void write_command(uint16_t cmd)

      {

      LCD_RS = 0;

      *(LCD_BASE) = cmd;

      }

      //-------------------------LCD write data -------------------------

      void write_data(uint16_t data)

      {

      LCD_RS = 1;

      __no_operation();

      __no_operation();

      //*(LCD_BASE) =(uint8_t)data;

      //*(LCD_BASE) =(uint8_t)data<<8;

      *(LCD_BASE) =data;

      }

      int32_t main(void)

      {

      FM3_GPIO->PFR4 = 0x0000; // Poart4 for gpio

      FM3_GPIO->PDOR4 = 0x003C; // P42-P45 output 1

      FM3_GPIO->DDR4 = 0x003C; // P42-P45: LED1-LED4, output;

      // P40,P41,P48:key2,key3,key4, input

      FM3_GPIO->PFR7 = 0x0000; // Poart7 for gpio

      FM3_GPIO->DDR7 = 0x0008; // P73, output;

      FM3_GPIO->PFR6 = 0x0000; // Poart6 for gpio

      FM3_GPIO->DDR6 = 0x0024; // P64:key1, input; P65 LCD back light, output

      // P62, LCD RS select,output

      init_extbus(); // 初始化外部總線

      delay(10);

      LCD_BKLIGHT = 1;

      delay(5);

      TM280_HX8347G_Initial_code(); //初始化LCD屏,清成白色

      delay(10);

      clr_lcd();

      DrawPicture(0,239,0,319); //x軸的起、末:Y軸的起末

      像以上按著我的例程來說,在屏幕上顯示圖片時問題就出現(xiàn)了,如果直接用image2lcd很遺憾的告訴您,它生成的圖片數(shù)組是單字節(jié)的(0xxx),讓它顯示在屏幕上根本就不行,如果手上有圖片,可是你發(fā)現(xiàn)當(dāng)你用bmp2rgb軟件來轉(zhuǎn)換時發(fā)現(xiàn)轉(zhuǎn)換完后,數(shù)組里竟是空的,你開始懷疑軟件真爛?試一次還是這樣,換臺電腦結(jié)果還是一樣。如果你特意找一張24位的bitmap(bmp)圖片,你再用bmp2rgb來轉(zhuǎn)換發(fā)現(xiàn)成功了,并且都是雙字節(jié)數(shù)組,然后開始研究為什么?

      其實,在我目前看來,bmp2rgb軟件只能轉(zhuǎn)換24位的bmp格式的數(shù)組并且是單字節(jié),如果我們需要雙字節(jié)的,但手上僅有一個16位圖的圖片(用bmp2rg打開一開便知。)好了,如果此兩款軟件你同時擁有,先將此16位的圖片用image2lcd打開如圖

      再轉(zhuǎn)換成24位的bmp格式圖,再將生成的圖片用bmp2rgb軟件打開

      將寬高設(shè)置為屏幕的大小像素,點convert,ok!大功告成!



      關(guān)鍵詞: arm開發(fā)板TF

      評論


      技術(shù)專區(qū)

      關(guān)閉