亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用 Java 保存位圖文件

2019-11-18 11:30:34
字體:
來源:轉載
供稿:網友

摘要
  雖然 java 提供了幾種打開圖像的機制,但保存圖像并不是它的強項。這篇技巧將講述如何將圖像保存在 24 位位圖文件中。另外,Jean-Pierre 還提供了將圖像文件寫入位圖文件所需的全部代碼。

  這篇技巧是 "在 Java 應用程序中加載位圖文件的逐步指南" 的補充,那篇技巧說明了在 Java 應用程序中加載位圖文件的過程。本月我再提供一篇教程,說明如何將圖像保存在 24 位位圖文件中,其中還包含將圖像對象寫入位圖文件的代碼片斷。

  假如您在 Microsoft Windows 環境中工作,那么創建位圖文件的功能將為您提供許多方便。例如,在我的上一個項目中,我必須將 Java 與 Microsoft access 對接。Java 程序答應用戶在屏幕上繪圖。這幅圖隨后被打印到 Microsoft Access 報表中。由于 Java 不支持 OLE,我的唯一選擇就是創建該圖的一個位圖文件,并通知 Microsoft Access 報表在何處能找到這個位圖文件。假如您寫過向剪貼板發送圖像的應用程序,則這個技巧可能對您有用 -- 尤其是當您將這個信息傳遞給另一個應用程序時。

  位圖文件的格式

  位圖文件格式支持 4 位 RLE(行程長度編碼)以及 8 位和 24 位編碼。因為我們只處理 24 位格式,所以下面我們查看一下該文件的結構。

  位圖文件分為三個部分。我已將它們列在下面。

  第 1 部分:位圖文件的標頭

  標頭包含位圖文件的類型大小信息和版面信息。結構如下(摘自 C 語言結構定義):

 
typedef strUCt tagBITMAPFILEHEADER {
   UINT bfType;
   DWord bfSize;
   UINT bfReserved1;
   UINT bfReserved2;
   DWORD bfOffBits;
  }BITMAPFILEHEADER;

 下面是對這個清單中的代碼元素的說明:

  bfType:指定文件類型,其值始終為 BM。

  bfSize:指定整個文件的大?。ㄒ宰止潪閱挝唬?。

  bfReserved1:保留 -- 必須為 0。

  bfReserved2:保留 -- 必須為 0。

  bfOffBits:指定從 BitmapFileHeader 到圖像首部的字節偏移量。

  現在您已經明白位圖標頭的用途就是標識位圖文件。讀取位圖文件的每個程序都使用位圖標頭來進行文件驗證。

  第 2 部分:位圖信息標頭

  隨后的標頭稱為信息標頭,其中包含圖像本身的屬性。

  下面說明如何指定 Windows 3.0(或更高版本)設備獨立位圖 (DIB) 的大小和顏色格式:

  typedef struct tagBITMAPINFOHEADER {
    DWORD biSize;
    LONG biWidth;
    LONG biHeight;
    WORD biplanes;
    WORD biBitCount;
    DWORD biComPRession;
    DWORD biSizeImage;
    LONG biXPelsPerMeter;
    LONG biYPelsPerMeter;
    DWORD biClrUsed;
    DWORD biClrImportant;
  } BITMAPINFOHEADER;

  
  以上代碼清單的每個元素說明如下:


   biSize:指定 BITMAPINFOHEADER 結構所需的字節數。

   biWidth:指定位圖的寬度(以象素為單位)。

   biHeight:指定位圖的高度(以象素為單位)。

   biPlanes:指定目標設備的位面數。這個成員變量的值必須為 1。

   biBitCount:指定每個象素的位數。其值必須為 1、4、8 或 24。

   biCompression:指定壓縮位圖的壓縮類型。在 24 位格式中,該變量被設置為 0。

   biSizeImage:指定圖像的大?。ㄒ宰止潪閱挝唬<偃缥粓D的格式是 BI_RGB,則將此成員變量設置為 0 是有效的。

   biXPelsPerMeter:為位圖指定目標設備的水平分辨率(以“象素/米”為單位)。應用程序可用該值從最符合當前設備特征的資源群組中選擇一個位圖。

   biYPelsPerMeter:為位圖指定目標設備的垂直分辨率(以“象素/米”為單位)。

   biClrUsed:指定位圖實際所用的顏色表中的顏色索引數。假如 biBitCount 設為 24,則 biClrUsed 指定用來優化 Windows 調色板性能的參考顏色表。

   biClrImportant:指定對位圖的顯示有重要影響的顏色索引數。假如此值為 0,則所有顏色都很重要。

  現在已定義了創建圖像所需的全部信息。

  第 3 部分:圖像

  在 24 位格式中,圖像中的每個象素都由存儲為 BRG 的三字節 RGB 序列表示。每個掃描行都被補足到 4 位。為了使這個過程稍復雜一點,圖像是自底而上存儲的,即第一個掃描行是圖像中的最后一個掃描行。下圖顯示了標頭 (BITMAPHEADER) 和 (BITMAPINFOHEADER) 以及部分圖像。各個部分由垂線分隔:


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线免费av| 国产亚洲成av人片在线观看桃| 亚洲高清福利视频| 欧美一区二区三区四区在线| 欧美日韩国产成人| 久久综合网hezyo| 青青久久av北条麻妃海外网| 国产欧美一区二区三区久久人妖| 久久免费少妇高潮久久精品99| 亚洲免费中文字幕| 久久久国产精品视频| 国产精品久久中文| 97精品视频在线| 欧美日韩一区二区在线| 亚洲免费影视第一页| 亚洲韩国欧洲国产日产av| 日韩小视频网址| 精品亚洲aⅴ在线观看| 欧美黄色www| 久久99久久亚洲国产| 久久精品国亚洲| 亚洲高清免费观看高清完整版| 欧美性猛交xxxx免费看漫画| 国产成人综合精品在线| 亚洲欧美一区二区三区久久| 欧美国产日本高清在线| 亚洲另类欧美自拍| 亚洲国产精品免费| 欧美日韩xxxxx| 久久久久久久久亚洲| 91亚洲精品在线| 国产精品福利无圣光在线一区| 69久久夜色精品国产69| 热久久美女精品天天吊色| 欧美精品激情blacked18| 久久精品久久精品亚洲人| 97av在线视频| 中文字幕一区二区精品| 91精品国产777在线观看| 91色视频在线导航| 日韩av色综合| 欧美日韩色婷婷| 精品久久久久久亚洲精品| 国产中文字幕91| 97免费在线视频| 欧美成人免费全部| 7777kkkk成人观看| 日韩欧美中文在线| 国产精品久久久久av免费| 亚洲成成品网站| 九九精品在线视频| 91sao在线观看国产| 日韩在线免费av| 国产一区二区欧美日韩| 成人欧美在线视频| 国产欧美精品一区二区三区介绍| 丝袜亚洲欧美日韩综合| 亚洲网址你懂得| www亚洲欧美| 久久久精品久久久久| 91产国在线观看动作片喷水| 中文字幕亚洲一区二区三区五十路| 成人精品福利视频| 91av福利视频| 日韩av大片免费看| 91精品国产综合久久香蕉的用户体验| 一区二区三区四区在线观看视频| 亚洲成av人影院在线观看| 欧美成人性生活| 欧美超级乱淫片喷水| 亚洲欧洲午夜一线一品| 亚洲的天堂在线中文字幕| 久久久久久久国产| 国产视频久久久| 成人欧美一区二区三区在线| 成人黄色av网站| 国产精品久久久久久久久久99| 国产成人精品日本亚洲| 51久久精品夜色国产麻豆| 国产精品午夜视频| 在线精品91av| 精品久久久久久久久久| 欧美日韩在线免费| 日本久久久久亚洲中字幕| 国产一区二区色| 在线精品视频视频中文字幕| 国产噜噜噜噜久久久久久久久| 国产成人一区二| 欧美性xxxx在线播放| 亚洲bt欧美bt日本bt| 欧美日本精品在线| 亚洲国产日韩欧美在线99| 精品在线观看国产| 亚洲亚裔videos黑人hd| 欧美激情一区二区三级高清视频| 4438全国亚洲精品在线观看视频| 国产日韩在线免费| 91国产精品电影| 丁香五六月婷婷久久激情| 亚洲人a成www在线影院| 欧美裸体视频网站| 日韩国产中文字幕| 久久久久久成人精品| 亚洲精品国产精品乱码不99按摩| 亚洲第一区第二区| 欧美另类第一页| 午夜精品一区二区三区在线视| 欧美一级电影免费在线观看| 欧洲成人在线观看| 亚洲国产古装精品网站| 亚洲视频免费一区| 国产精品美女主播在线观看纯欲| 最近2019年好看中文字幕视频| 国产亚洲精品久久久久久| 国产成人av网址| 亚洲第一男人av| 亚洲国产日韩欧美在线图片| 麻豆乱码国产一区二区三区| 欧美高跟鞋交xxxxhd| 日韩av电影在线免费播放| 久久精品成人欧美大片古装| 国产精品视频免费观看www| 日韩一区二区精品视频| 亚洲欧美一区二区三区在线| 91久久精品在线| 亚洲电影免费观看高清完整版| 中文字幕欧美日韩va免费视频| 中文在线不卡视频| 欧洲精品久久久| 日本不卡高字幕在线2019| 久久久久亚洲精品国产| 中文字幕在线成人| 欧美激情小视频| 精品日本高清在线播放| 亚洲精品第一国产综合精品| 亚洲人午夜精品免费| 亚洲护士老师的毛茸茸最新章节| 裸体女人亚洲精品一区| 国产欧美日韩精品在线观看| 成人天堂噜噜噜| 日韩精品免费综合视频在线播放| 国产精品网址在线| 亚洲国产日韩欧美综合久久| 一区二区三区在线播放欧美| 成人淫片在线看| 亚洲成人黄色在线观看| 久久久久久久av| 久久精品国产久精国产思思| 亚洲第一区中文99精品| 日韩免费在线免费观看| 久久色免费在线视频| 亚洲成人精品在线| 久久99国产综合精品女同| 亚洲图片欧美日产| 欧美日本国产在线| 97在线看福利| 欧美专区在线视频| 国产在线98福利播放视频| 国产91在线播放| 日韩国产欧美精品在线| 色综合色综合久久综合频道88| 国产日韩欧美黄色| 欧美国产日韩一区二区| 欧美日韩日本国产|