<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單色BMP位圖的顯示方法

英創信息技術 ? 作者:英創信息技術 ? 2019-09-29 13:56 ? 次閱讀

在工控領域的實際應用中,客戶經常需要使用LCD顯示屏進行一些簡單的文字和圖形顯示操作,如顯示公司的LOGO和開機畫面、顯示一些重要的參數指標等。英利嵌入式Linux工控主板可以直接支持6種單色點陣LCD顯示屏,分別是KS0108控制器的128x64點陣LCD、T6963C控制器的240x128點陣LCD、SED1335控制器的320x240點陣LCD、KS0108控制器的192x64點陣LCD、UC1698U控制器的160x160點陣LCD、YXD控制器的128x64點陣LCD。

對于文字的顯示,英利公司已有例程進行介紹,本文將詳細介紹單色BMP位圖的顯示方法。

1、制作符合顯示需要的單色BMP位圖

使用圖形編輯軟件制作用來顯示的圖片,并保存為位圖格式,然后使用Windows中的“畫圖”工具打開該圖片,另存為單色位圖(注:一定要存為單色位圖,否則無法顯示)。注意圖形的尺寸大小,如果待顯示圖形大于LCD的尺寸,則無法正確顯示。

2、使用英利提供的示例程序進行圖形顯示

英利提供了一個名為“test_bmp”的測試例程,其中包括了測試程序“test_bmp”以及用于圖形顯示的API函數。其中,API函數DisplayBmp( . . )中實現了對BMP文件的讀取、解析和顯示操作,客戶將制作好的圖片和測試程序test_bmp一同放在英利工控主板的/mnt/nandflash目錄中,通過命令行輸入如下命令:

[root@EM9X60 /mnt/nandflash]# ./test_bmp logo.bmp 3 30 10

即可以在LCD顯示屏上看到顯示效果。

該命令的4個參數說明如下:
logo.bmp:英利測試時使用的圖片??蛻魧嶋H使用的時候填寫自己的圖片名字
3:英利測試使用的是320x240點陣的顯示屏,定義為3號屏,因此此處的參數為3。如果使用其他分辨率的LCD,則填寫相應的
參數,參數與LCD對應關系如下:
1:KS0108控制器的128x64點陣LCD
2:T6963C控制器的240x128點陣LCD
3:SEED1335控制器的320x240點陣LCD
4:KS0108控制器的192x64點陣LCD
5:UC1698U控制器的160x160點陣LCD
6:YXD控制器的128x64點陣LCD
30:顯示屏x方向的起始顯示位置。如果不填,默認為0
10:顯示屏y方向的起始顯示位置。如果不填,默認為0

需注意的是:
1、用于顯示的圖片必須是單色位圖,且圖片的長寬尺寸必須小于LCD相應方向(x和y軸)的點陣數,否則無法顯示。
2、前兩個參數(圖片名、顯示屏分辨率)必須設置,否則系統報錯退出。
3、顯示屏參數中,只有數字1-6有效,其余輸入均視為無效參數,系統報錯退出。
4、后兩個參數是用于控制圖片顯示位置的,如果都不設置,則默認從左上角第一個點開始顯示。這兩個參數必須同時設置或者
留空,不能只設置一個。同時,如果設置的起始位置造成了圖片的溢出(即如果從起始位置開始顯示,圖片在x或者y軸方向的
尺寸已經大于了該方向剩余的LCD點陣數),也無法正確顯示。

3、圖形顯示示例程序說明

能夠使用示例程序進行單色位圖顯示以后,客戶可以以測試程序為藍本,針對自己的應用設計自己的圖形顯示程序。test_bmp的代碼和說明如下:

#include
#include
#include
#include 'lcd_api.h'
#include 'bmpdisplay.h'
int main( int argc, char** argv )
{
// 如果只設置了圖片名和顯示屏尺寸,則默認從左上角第一個點開始顯示
if( argc == 3 )
{
InitLcd( atoi(argv[2]) );
DisplayBmp( argv[1], 0, 0 );
}
// 如果設置了4個參數,則完全按照參數設置進行配置
else if( argc == 5 )
{
InitLcd( atoi(argv[2]) );
DisplayBmp( argv[1], atoi(argv[3]), atoi(argv[4]) );
}
else
{
printf( 'Parameter fail!\n' );
return -1;
}
sleep( 1 );
LCD_DeInit( );
return 0;
}

該例程很簡單,解析命令行傳入的參數以后調用英利提供的函數DisplayBmp即可以進行顯示。實際應用中,客戶用于顯示的圖片有可能只是一個,顯示屏也會固定一種型號,并不需要從命令行傳入參數進行解析,此時可以簡化上述程序,整個過程只需要如下四條語句:

InitLcd( 3 );
DisplayBmp( 'logo.bmp', 0, 0 );
sleep( 1 );
LCD_DeInit( );

對該示例程序感興趣的英利公司客戶可以來電或通過電子郵件索取相關代碼。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    3

    文章

    3440

    瀏覽量

    87144
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6064

    瀏覽量

    34613
收藏 人收藏

    評論

    相關推薦

    【原創】對bmp格式2位黑白圖片解碼并顯示在12864液晶上

    ` 本帖最后由 gtbestom 于 2014-4-15 10:58 編輯 最近移植成功了fat32文件系統,還認真學習了bmp文件格式,對bmp文件進行了解碼,黑白12864液晶屏只能到這樣的顯示效果了,只對黑白兩色
    發表于 04-07 16:49

    【安富萊】【STemWin教程】第11章 BMP圖片顯示

    `` 本帖最后由 硬漢Eric2013 于 2015-3-26 11:56 編輯 第11章 BMP圖片顯示 本期主要講emWin支持的BMP圖片顯示,官方支持的主要有兩種
    發表于 03-26 11:50

    第11章 BMP圖片顯示

    轉stemwin教程本期主要講emWin支持的BMP圖片顯示,官方支持的主要有兩種顯示方法,一種是從外部存儲器讀取數據到內部存儲器然后來顯示
    發表于 10-12 10:18

    【emWin實戰教程V2.0】第46章 BUTTON-按鈕控件顯示位圖和流位圖

    轉最新版本教程本章節為大家講解按鈕控件顯示位圖和流位圖方法,之所以做這章節是因為太多初學者問這方面的問題,所以專門做一下。學習本章節前,務必保證已經學習了第12章和第13章。46.1
    發表于 02-28 16:47

    請教下,讀取sd卡,u盤里面的bmp圖片解碼顯示 ?

    本帖最后由 hpdell 于 2016-1-12 15:12 編輯 請教下,讀取sd卡、u盤里面的bmp圖片解碼顯示,sd卡與u盤里面的bmp圖片文件完全一樣,圖片的位圖也都
    發表于 10-24 08:10

    為什么按鈕顯示位圖顯示不出圖片?

    我已經做到將SD卡的流位圖顯示在屏幕上,如下圖但是當建立一個button后,使用了BUTTON_SetStreamedBitmap()這個函數來設置按鈕的位圖時,按鈕沒有顯示圖片,這是
    發表于 09-12 03:04

    如何用GUI顯示存入外部外部FLASH的BMP圖片?

    我把BMP圖片用BmpCvt.exe轉換成16位真彩565格式的C文件直接加載到程序中用GUI_DrawBitmap函數可以正常顯示?,F在因為圖片太多,STM32F103VET內部flash不夠用
    發表于 09-20 01:17

    位圖顯示問題如何解決

    硬件:STM32F103VCt6程序是參照原子歌的位圖顯示這部分。只是改變了圖片的內容,其它的是拷貝位圖的源代碼,沒有操作系統。圖片是用BMPCVTST導的,存在內部FLASH里,工程包含了這個文件
    發表于 05-22 14:57

    怎樣在OLED或其他單色屏上顯示圖片

    在OLED或其他單色屏上顯示圖片,為減小Flash占用,需要轉換為單色位圖。對于主控是sdd1306的oled的取模方式:打開Image2Lcd。按照如圖左側進行配置,將圖片轉換為
    發表于 07-15 08:24

    MDA顯示接口引腳定義圖(單色)

    MDA顯示接口引腳定義圖(單色) MDA 即 Hercules(大力神)單色顯示卡,顯示卡端的接口為 9 針母插座:
    發表于 11-27 20:16 ?1744次閱讀
    MDA<b class='flag-5'>顯示</b>接口引腳定義圖(<b class='flag-5'>單色</b>)

    關于AD中如何添加LOGO的方法

    利用 Windows 畫圖工具,把片轉換成 單色BMP 位圖
    發表于 09-09 16:05 ?0次下載

    BMPtoPCB軟件的免費下載(bmp位圖轉PCB文件工具)

    BMPtoPCB是一個制作電路板PCB的小軟件,做logo的時候能夠用上,把bmp格式的圖片直接轉換成pcb的文件。 使用方法 1.首先制作一幅 BMP圖形,把你需要的漢字或記號包含在內。然后運行
    發表于 11-29 15:24 ?27次下載
    BMPtoPCB軟件的免費下載(<b class='flag-5'>bmp</b><b class='flag-5'>位圖</b>轉PCB文件工具)

    Blackfin下載產品代碼的位圖圖像文件(BMP)解碼器

    Blackfin下載產品代碼的位圖圖像文件(BMP)解碼器
    發表于 06-08 11:46 ?1次下載
    Blackfin下載產品代碼的<b class='flag-5'>位圖</b>圖像文件(<b class='flag-5'>BMP</b>)解碼器

    stm32單片機OLED顯示圖片 位圖轉換 Image2Lcd使用

    在OLED或其他單色屏上顯示圖片,為減小Flash占用,需要轉換為單色位圖。對于主控是sdd1306的oled的取模方式:打開Image2Lcd。按照如圖左側進行配置,將圖片轉換為
    發表于 11-18 15:51 ?16次下載
    stm32單片機OLED<b class='flag-5'>顯示</b>圖片 <b class='flag-5'>位圖</b>轉換 Image2Lcd使用

    有關BMP位圖的原理和解析

    BMP是 Bitmap(位圖)的簡稱,是windows顯示圖片的基本格式。
    的頭像 發表于 05-20 16:15 ?1500次閱讀
    有關<b class='flag-5'>BMP</b><b class='flag-5'>位圖</b>的原理和解析
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>