中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      Turbo C位圖和BMP位圖格式分極及應用

      時間:2024-06-29 20:24:00 計算機畢業論文 我要投稿

      Turbo C位圖和BMP位圖格式分極及應用

      近來,圖像功能在計算機上的應用十分廣泛,一種方便快捷而實用的方法是首先利用圖像掃描儀將圖像數據自動生成并存入計算機,再利用Windows的PAINTBRUH功能進行加工修改,成為獨立的圖像文件。但是,仍然有一個問題:PAINTBRUH軟件只能在Windows環境下運行。因此要顯示一幅圖像(.MSP位圖、.BMP位圖、PCX位圖),也要運行龐大的Windows,顯然不方便。為此,筆者編寫了一個BMP位圖文件直接顯示在屏幕上的程序。利用Turbo C位圖格式,將BMP格式進行轉換,實現了這一功能。
      一、Turbo C位圖格式
      Borlond公司的Turbo C是目前在微機上最為流行的C語言版本。它為軟件開發者提供了豐富的屏幕操作與圖形功能函數。其中getimage( )函數用于將屏幕內的某矩形區域復制到內存緩沖區,putimage( )函數將內存緩沖區中的內容再復制到屏幕上。但由于圖像事先還沒有出現在屏幕上,所以,不能使用getimage( )函數填寫供putimage( )函數顯示的內存圖像數據。不過可以把圖像數據按getimage( )函數產生的格式填于內存緩沖區中,然后調用putimage( )函數,顯示內存緩沖區圖像,下面分析getimage( )函數產生的格式:
      getimage (int letf, int top, int night, int bottm, *buf)
      其中,left, top——矩形區域左上角坐標(x,y)。
      right, bottom——矩形區域右上角坐標(x,y)。
      * buf——指向存儲屏幕數據的內存指針。
      在內存中,圖像數據是按行存放的。頭兩個字節為圖像的寬度,接下去兩個字節為圖像的高度(均為低字節在前,高字節在后)。后面是真正的圖像數據,它以圖像的寬度為單位,先是圖像的第一行第三位面的內容,然后是第一行第二位面的內容;第一行第一位面的內容;第一行第零位面的內容。第一行完后,接第二行的四個位面,第三行的四個位面等等。當屏幕狀態為16色時,則需4個彩色頁面。這時,如果圖像的寬度為8的整數倍時,則每
      行所需的字節數為:
      number=(right-left 8) 18*4
      如果圖像的寬度不為8的倍數據時,則
      number=(ceil ((right-left)/8)*4)
      其中,ceil (righ-left)8為取大于(right-left)/8的最小整數
      則圖像數據所需字節總數為:
      number * (bottom-top 1)
      則所需內存緩沖區字節總數為:
      6 number * (bottom -top 1)
      這是因為頭四個字節存放圖像的寬和高,而緩沖區最后2個字節無意義,可以填零。
      @@T5S04700.GIF;圖 1@@
      這樣,每行每頁面的字節數為:
      p=number/4
      如圖1所示(設寬、高為16×16)
      其中,圖像的真正數據在每個頁面的前m列,即:
      當寬度為8的倍數據時,m=P-1,此時每頁面的最后一列可為零。而當寬度不為8的倍
      數時,m=P。
      結合圖1 m=2,即數據在每頁面的前2列。
      二、BMP位圖格式
      MS Windows的.BMP圖像文件可以表示單色或直至24位的彩色圖像,.BMP文件是與設備無關的。.BMP文件分為文件首部和文件體兩部分。文件首部描述文件和圖像的有關參數和彩色表,主體是圖像的位圖數據。.BMP文件的格式如表1所示。
      @@T5S04701.GIF;表1 BMP文件的格式@@
      @@T5S04702.GIF;表2 BMP與VGA彩色編碼對照@@
      .BMP文件的文件體記錄圖像的位圖數據。從圖像的左下角開始依次掃描每根掃描線。對于單色,每個象素用1位表示;16色用4位表示一個象素,256色用一個字節,而24位彩色用3個字節。
      但.BMP位圖的彩色編碼與VGA彩色編碼不同,必須經過轉換才能用C語言在屏幕上顯示。表2給出了.BMP位圖彩色編碼與VGA彩色編碼的對照。
      三、.BMP位圖向Turbo C位圖的轉換
      當VGA視頻內存在選擇640×480模式時占用4個位面。每個位面上的一位對應一個點。而.BMP位圖則采用壓縮法的組織形式,兩者顯然不同。因此,也需要一個變換過程,見圖2。
      根據這一原理,首先進行彩色編碼轉換,然后將.BMP位圖數轉換成C位圖格式,寫入內存緩沖區的適當位置。
      @@T5S04703.GIF;圖2 從BMP位圖到VGA視頻內存的變換過程@@
      為了便于參考,筆者編制了一個程序。本程序只要給出.BMP文件的名字,程序會自行在屏幕上顯示出來。需說明的是,本程序只能用于小于64K的圖像。但也可以將一幅大的.BMP圖像分成若干小圖像即可。對圖像文件格式轉換感興趣的讀者,也不難將本程序拓展到自己的應用領域。程序附后。
      # include

      【Turbo C位圖和BMP位圖格式分極及應用】相關文章:

      計算機畢業論文-Turbo C位圖和BMP位圖格式分極及應用03-06

      維生素C的臨床應用03-16

      電子版護理記錄單表格式的設計和應用05-26

      財產保險實務中對格式合同的理解和應用03-22

      應用文駁論文格式06-29

      醫學綜述的格式和寫法11-20

      論文的結構和排版格式02-14

      論文寫作規范和格式03-18

      TMS320C54x系列DSP中的應用03-19

      主站蜘蛛池模板: 免费人人av看| 开心五月婷婷激情在线| 遂平县| 天堂av无码大芭蕉伊人av孕妇黑人| 一区二区三区免费观看在线视频| 国产精品白浆免费观看| 宜兰县| 人妻无码人妻有码不卡| 人妻无码∧V一区二区| 午夜国产丝袜美腿在线视频| 亚洲av午夜成人片精品 | 另类人妖在线观看一区二区| 亚洲人av毛片一区二区| 最新永久无码AV网址亚洲| 国产激情视频免费观看| 日本精品视频一视频高清| 特黄三级一区二区三区| 国产精品亚洲综合一区| 亚洲成a人片在线观看高清| 国产精品视频一区二区三区观看| 国产亚洲女人久久久久久| 离岛区| 天堂Av无码Av一区二区三区| 日韩国产欧美成人一区二区影院 | 精品国产乱来一区二区三区| 欧美亚洲国产丝袜在线| 无码久久精品蜜桃| 国产人禽杂交18禁网站| 亚洲一区二区在线免费观看视频| 超清无码AV丝袜片在线观看| 国产三级视频一区二区| 莆田市| 国产精品白浆视频免费观看| 午夜亚洲国产精品福利| 国产精品黑色丝袜在线播放| 最新国产精品精品视频| 精品免费一区二区三区在| 久久国产精品男人的天堂av| 在线视频一区二区三区在线观看| 在线视频一区二区三区在线观看 | 久久青青草原国产精品最新片|