?? 久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 java 保存位圖文件.htm
字號(hào):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0044)http://www.99net.net/study/prog/68104647.htm -->
<HTML><HEAD><TITLE>久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312"><LINK
href="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/common.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY text=#000000 vLink=#0033cc aLink=#ff0000 link=#0033cc bgColor=#ffffff>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top width=160><IMG height=60
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/logo.gif" width=160></TD>
<TD width=6><BR></TD>
<TD vAlign=top align=middle width=468><IFRAME marginWidth=0 marginHeight=0
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/adbanner.htm" frameBorder=0 width=468
scrolling=no height=60></IFRAME></TD>
<TD width=6><BR></TD>
<TD vAlign=top align=right width=110><IFRAME marginWidth=0 marginHeight=0
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/adtext.htm" frameBorder=0 width=110
scrolling=no height=60></IFRAME></TD></TR>
<TR>
<TD colSpan=5 height=3></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD vAlign=bottom align=middle width=160><FONT color=#666666>
<SCRIPT language=JavaScript
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/nowdate.js"></SCRIPT>
</FONT></TD>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD vAlign=top width=7 bgColor=#666666 height=20><IMG height=7
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/co-1.gif" width=7></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/"><FONT class=no
color=#ffffff>久久首頁(yè)</A></FONT></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/soft/"><FONT class=no
color=#ffffff>免費(fèi)軟件</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/fad/"><FONT class=no
color=#ffffff>網(wǎng)絡(luò)時(shí)尚</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#336600><A
href="http://www.99net.net/study/"><FONT
color=#ffffff>網(wǎng)絡(luò)學(xué)堂</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/topic/"><FONT class=no
color=#ffffff>專題討論</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/dir/"><FONT class=no
color=#ffffff>網(wǎng)絡(luò)資源</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/game/"><FONT class=no
color=#ffffff>網(wǎng)絡(luò)游戲</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/doc/"><FONT class=no
color=#ffffff>網(wǎng)絡(luò)文檔</FONT></A></TD>
<TD width=1 rowSpan=2><BR></TD>
<TD align=middle bgColor=#666666><A
href="http://www.99net.net/product/"><FONT class=no
color=#ffffff>網(wǎng)絡(luò)產(chǎn)品</FONT></A></TD></TR>
<TR>
<TD class=p1 colSpan=2 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 bgColor=#336600 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 height=1></TD>
<TD class=p1 height=1></TD></TR></TBODY></TABLE></TD></TR>
<TR bgColor=#336600>
<TD class=p1 colSpan=2 height=3> </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD vAlign=top width=160 bgColor=#336600>
<TABLE cellSpacing=0 cellPadding=3 width=150 align=center border=0>
<TBODY>
<TR>
<TD height=7></TD></TR>
<TR>
<TD bgColor=#999999 height=20> 文章搜索</TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#cccccc>
<FORM name=fsearch action="" method=post target=_blank>
<TABLE cellSpacing=1 cellPadding=0 width="100%" align=center
border=0>
<TBODY>
<TR>
<TD align=middle height=64><INPUT size=9 name=fstr> <INPUT onclick="document.fsearch.action='../funcs/search.asp?key='+document.fsearch.fstr.value" type=submit value=搜索 name=Submit>
</TD></TR></TBODY></TABLE></FORM></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width=150 align=center border=0>
<TBODY>
<TR>
<TD height=7></TD></TR>
<TR>
<TD bgColor=#999999> 本類熱門(mén)</TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#cccccc>
<TABLE cellSpacing=2 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/prog/6810294.htm"
target=_blank>Java中文問(wèn)題詳解</A></TD></TR>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/prog/36.htm"
target=_blank>用VC++和Winsock實(shí)現(xiàn)與HTTP服務(wù)器通話 </A></TD></TR>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/prog/68103937.htm"
target=_blank>關(guān)于Servlet、Jsp中的多國(guó)語(yǔ)言顯示</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width=150 align=center border=0>
<TBODY>
<TR>
<TD height=7></TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#999999> 熱門(mén)專題</TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#cccccc>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/topic/1.htm"
target=_blank>網(wǎng)絡(luò)互聯(lián)設(shè)備介紹</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=3 width=150 align=center border=0>
<TBODY>
<TR>
<TD height=7></TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#999999> 本類推薦</TD></TR>
<TR>
<TD class=p1 bgColor=#666666 height=1></TD></TR>
<TR>
<TD bgColor=#cccccc>
<TABLE cellSpacing=2 cellPadding=0 width="100%" align=center>
<TBODY>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/prog/6810919.htm"
target=_blank>POP3協(xié)議命令原始碼及工作原理</A></TD></TR>
<TR>
<TD vAlign=top>-</TD>
<TD vAlign=top><A
href="http://www.99net.net/study/prog/67171825.htm"
target=_blank>用Socket發(fā)送電子郵件</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD>
<TD vAlign=top width=10>
<TABLE cellSpacing=0 cellPadding=0 width=7 align=left border=0>
<TBODY>
<TR>
<TD bgColor=#336600><IMG height=7
src="久久網(wǎng)絡(luò)-網(wǎng)絡(luò)學(xué)堂-用 Java 保存位圖文件.files/co-3.gif"
width=7></TD></TR></TBODY></TABLE></TD>
<TD vAlign=top>
<TABLE cellSpacing=0 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD height=20>您的位置:<A href="http://www.99net.net/">首頁(yè)</A>><A
href="http://www.99net.net/study/">網(wǎng)絡(luò)學(xué)堂</A>><A
href="http://www.99net.net/study/prog/">網(wǎng)絡(luò)編程</A>>文章詳情</TD></TR></TBODY></TABLE><BR>
<H2 align=center>用 Java 保存位圖文件</H2>
<HR SIZE=1>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR align=middle>
<TD colSpan=2>2003-4-10 16:48:29 </TD></TR>
<TR>
<TD colSpan=2> </TD></TR>
<TR>
<TD class=p11 colSpan=2>摘要 <BR> 雖然 Java
提供了幾種打開(kāi)圖像的機(jī)制,但保存圖像并不是它的強(qiáng)項(xiàng)。這篇技巧將講述如何將圖像保存在 24 位位圖文件中。另外,Jean-Pierre
還提供了將圖像文件寫(xiě)入位圖文件所需的全部代碼。 <BR><BR> 這篇技巧是 "在 Java 應(yīng)用程序中加載位圖文件的逐步指南"
的補(bǔ)充,那篇技巧說(shuō)明了在 Java 應(yīng)用程序中加載位圖文件的過(guò)程。本月我再提供一篇教程,說(shuō)明如何將圖像保存在 24
位位圖文件中,其中還包含將圖像對(duì)象寫(xiě)入位圖文件的代碼片斷。 <BR><BR> 如果您在 Microsoft Windows
環(huán)境中工作,那么創(chuàng)建位圖文件的功能將為您提供許多方便。例如,在我的上一個(gè)項(xiàng)目中,我必須將 Java 與 Microsoft Access
對(duì)接。Java 程序允許用戶在屏幕上繪圖。這幅圖隨后被打印到 Microsoft Access 報(bào)表中。由于 Java 不支持
OLE,我的唯一選擇就是創(chuàng)建該圖的一個(gè)位圖文件,并通知 Microsoft Access
報(bào)表在何處能找到這個(gè)位圖文件。如果您寫(xiě)過(guò)向剪貼板發(fā)送圖像的應(yīng)用程序,則這個(gè)技巧可能對(duì)您有用 --
尤其是當(dāng)您將這個(gè)信息傳遞給另一個(gè)應(yīng)用程序時(shí)。 <BR><BR> 位圖文件的格式<BR><BR> 位圖文件格式支持 4 位
RLE(行程長(zhǎng)度編碼)以及 8 位和 24 位編碼。因?yàn)槲覀冎惶幚?24 位格式,所以下面我們查看一下該文件的結(jié)構(gòu)。
<BR><BR> 位圖文件分為三個(gè)部分。我已將它們列在下面。 <BR><BR> 第 1
部分:位圖文件的標(biāo)頭<BR><BR> 標(biāo)頭包含位圖文件的類型大小信息和版面信息。結(jié)構(gòu)如下(摘自 C 語(yǔ)言結(jié)構(gòu)定義):
<BR><BR> <BR>typedef struct tagBITMAPFILEHEADER {<BR> UINT
bfType;<BR> DWORD bfSize;<BR> UINT bfReserved1;<BR> UINT
bfReserved2;<BR> DWORD bfOffBits;<BR> }BITMAPFILEHEADER;
<BR><BR> 下面是對(duì)這個(gè)清單中的代碼元素的說(shuō)明: <BR><BR> bfType:指定文件類型,其值始終為 BM。
<BR><BR> bfSize:指定整個(gè)文件的大小(以字節(jié)為單位)。 <BR><BR> bfReserved1:保留 -- 必須為
0。 <BR><BR> bfReserved2:保留 -- 必須為 0。 <BR><BR> bfOffBits:指定從
BitmapFileHeader 到圖像首部的字節(jié)偏移量。
<BR><BR> 現(xiàn)在您已經(jīng)明白位圖標(biāo)頭的用途就是標(biāo)識(shí)位圖文件。讀取位圖文件的每個(gè)程序都使用位圖標(biāo)頭來(lái)進(jìn)行文件驗(yàn)證。
<BR><BR> 第 2 部分:位圖信息標(biāo)頭<BR><BR> 隨后的標(biāo)頭稱為信息標(biāo)頭,其中包含圖像本身的屬性。
<BR><BR> 下面說(shuō)明如何指定 Windows 3.0(或更高版本)設(shè)備獨(dú)立位圖 (DIB) 的大小和顏色格式:
<BR><BR> typedef struct tagBITMAPINFOHEADER {<BR> DWORD
biSize;<BR> LONG biWidth;<BR> LONG biHeight;<BR> WORD
biPlanes;<BR> WORD biBitCount;<BR> DWORD
biCompression;<BR> DWORD biSizeImage;<BR> LONG
biXPelsPerMeter;<BR> LONG biYPelsPerMeter;<BR> DWORD
biClrUsed;<BR> DWORD biClrImportant;<BR> } BITMAPINFOHEADER;
<BR><BR> <BR> 以上代碼清單的每個(gè)元素說(shuō)明如下: <BR><BR><BR> biSize:指定
BITMAPINFOHEADER 結(jié)構(gòu)所需的字節(jié)數(shù)。 <BR><BR> biWidth:指定位圖的寬度(以象素為單位)。
<BR><BR> biHeight:指定位圖的高度(以象素為單位)。
<BR><BR> biPlanes:指定目標(biāo)設(shè)備的位面數(shù)。這個(gè)成員變量的值必須為 1。
<BR><BR> biBitCount:指定每個(gè)象素的位數(shù)。其值必須為 1、4、8 或 24。
<BR><BR> biCompression:指定壓縮位圖的壓縮類型。在 24 位格式中,該變量被設(shè)置為 0。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -