﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-David.Turing's Security Blog-随笔分类-数字水印</title><link>http://www.blogjava.net/security/category/11892.html</link><description>Java Security, CAPICOM, CryptoAPI/CSP, BouncyCastle, Openssl, JCE/JCA, SSO, CAS, Tivoli, CA, PKI
&lt;br&gt;
&lt;font color="#00f100"&gt;本站内容只兼容IE浏览器&lt;/font&gt;
&lt;br&gt;
&lt;font color="#00f100"&gt;重要的文章包均含本人的PGP签名，本人愿意对自己的言论负责&lt;/font&gt;
&lt;br&gt;</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:31:28 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:31:28 GMT</pubDate><ttl>60</ttl><item><title>发布GIF4J破解版</title><link>http://www.blogjava.net/security/archive/2006/07/17/Gif4j_crack.html</link><dc:creator>david.turing</dc:creator><author>david.turing</author><pubDate>Mon, 17 Jul 2006 02:32:00 GMT</pubDate><guid>http://www.blogjava.net/security/archive/2006/07/17/Gif4j_crack.html</guid><wfw:comment>http://www.blogjava.net/security/comments/58515.html</wfw:comment><comments>http://www.blogjava.net/security/archive/2006/07/17/Gif4j_crack.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/security/comments/commentRss/58515.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/security/services/trackbacks/58515.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 使用Gif4j实现gif图片的水印嵌入&nbsp;&nbsp;<a href='http://www.blogjava.net/security/archive/2006/07/17/Gif4j_crack.html'>阅读全文</a><img src ="http://www.blogjava.net/security/aggbug/58515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/security/" target="_blank">david.turing</a> 2006-07-17 10:32 <a href="http://www.blogjava.net/security/archive/2006/07/17/Gif4j_crack.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PNG头文件格式分析</title><link>http://www.blogjava.net/security/archive/2006/06/08/51292.html</link><dc:creator>david.turing</dc:creator><author>david.turing</author><pubDate>Thu, 08 Jun 2006 03:39:00 GMT</pubDate><guid>http://www.blogjava.net/security/archive/2006/06/08/51292.html</guid><wfw:comment>http://www.blogjava.net/security/comments/51292.html</wfw:comment><comments>http://www.blogjava.net/security/archive/2006/06/08/51292.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/security/comments/commentRss/51292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/security/services/trackbacks/51292.html</trackback:ping><description><![CDATA[<p>
				<font size="2">00000000h: <font color="#ff1493">89 50 4E 47 0D 0A 1A 0A</font><font color="#008000"><strong>00 00 00 0D</strong></font><font style="BACKGROUND-COLOR: #ffff00">49 48 44 52</font> ; 塒NG........IHDR<br />00000010h: <font style="BACKGROUND-COLOR: #ff1493" color="#000080"><font style="BACKGROUND-COLOR: #a52a2a" color="#d3d3d3">00 00 00 CE 00 00 00 CE 08 02 00 00 00</font> F9 7D AA</font> ; ...?..?....鶀?<br />00000020h: <font style="BACKGROUND-COLOR: #ff1493" color="#000080">93 </font><font style="BACKGROUND-COLOR: #ffa500">00 00 00 09</font> 70 48 59 73 00 00 0A 75 00 00 0A ; ?...pHYs...u...<br />00000030h: 75 01 4A 25 DD FD 00 00 0C 91 49 44 41 54 78 9C ; u.J%蔟...慖DATx?<br />00000040h: ED 9D D9 96 DC 2A 0C 45 A9 AC FC FF 2F D7 7D 70 ; 頋贃?.E┈?/讅p<br />00000050h: C7 97 66 10 9A 98 CF 7E C8 EA 54 95 6D 86 83 24 ; 菞f.殬蟸汝T昺唭$<br />00000060h: 04 B6 3F DF EF 37 00 D0 9F 3F B3 0B 00 6E 01 52 ; .?唢7.袩??.n.R<br />00000070h: 03 83 F8 3B BB 00 AB F2 F9 98 0E 47 58 92 01 A9 ; .凐;?鶚.GX??</font>
				<br />
				<br />
				<br />
				<font color="#ff1493">89 50 4E 47 0D 0A 1A 0A</font> 是PNG头部署名域，表示这是一个PNG图片<br /><strong><font color="#008000">00 00 00 0D</font></strong> 描述IHDR头部的大小<br /><font style="BACKGROUND-COLOR: #ffff00">49 48 44 52</font> 是<font size="2">Chunk Type Code, 这里Chunk Type Code=IHDR<br /></font><font style="BACKGROUND-COLOR: #a52a2a" color="#d3d3d3">00 00 00 CE 00 00 00 CE 08 02 00 00 00</font> 描述了Chunk Data，它是可变长度数据<font size="2">，<font size="3"><strong><font color="#008000">00 00 00 0D</font></strong> 定义了长度为13个Bytes，所以,这里，你看到是13个字节</font>)</font><br /><font style="BACKGROUND-COLOR: #ffa500"><font style="BACKGROUND-COLOR: #ff1493" color="#000080">F9 7D AA 93 </font></font>是对IHDR的CRC校验<br /><br />紧接着下面的就是pHys数据块，原理也是一样。<br /><br /><br /></p><img src ="http://www.blogjava.net/security/aggbug/51292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/security/" target="_blank">david.turing</a> 2006-06-08 11:39 <a href="http://www.blogjava.net/security/archive/2006/06/08/51292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java处理Gif图片</title><link>http://www.blogjava.net/security/archive/2006/06/06/50943.html</link><dc:creator>david.turing</dc:creator><author>david.turing</author><pubDate>Tue, 06 Jun 2006 14:32:00 GMT</pubDate><guid>http://www.blogjava.net/security/archive/2006/06/06/50943.html</guid><wfw:comment>http://www.blogjava.net/security/comments/50943.html</wfw:comment><comments>http://www.blogjava.net/security/archive/2006/06/06/50943.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/security/comments/commentRss/50943.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/security/services/trackbacks/50943.html</trackback:ping><description><![CDATA[<a href="http://www.gurge.com/amd/old/java/GIFEncoder/index.html">http://www.gurge.com/amd/old/java/GIFEncoder/index.html</a><img src ="http://www.blogjava.net/security/aggbug/50943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/security/" target="_blank">david.turing</a> 2006-06-06 22:32 <a href="http://www.blogjava.net/security/archive/2006/06/06/50943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java处理PNG图像(转载WikiMedia)</title><link>http://www.blogjava.net/security/archive/2006/06/06/PNG_JAVA_LIBARY.html</link><dc:creator>david.turing</dc:creator><author>david.turing</author><pubDate>Tue, 06 Jun 2006 14:17:00 GMT</pubDate><guid>http://www.blogjava.net/security/archive/2006/06/06/PNG_JAVA_LIBARY.html</guid><wfw:comment>http://www.blogjava.net/security/comments/50940.html</wfw:comment><comments>http://www.blogjava.net/security/archive/2006/06/06/PNG_JAVA_LIBARY.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/security/comments/commentRss/50940.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/security/services/trackbacks/50940.html</trackback:ping><description><![CDATA[<p align="left">
				<a href="http://catcode.com/pngencoder/">http://catcode.com/pngencoder/</a>
				<br />
				<br />
				<a href="http://prdownloads.sourceforge.net/javapng/javapng-2.0-rc4-src.jar?download">http://prdownloads.sourceforge.net/javapng/javapng-2.0-rc4-src.jar?download</a>
				<br />
				<br />
				<br />
				<br />
		</p>
		<p align="left">
				<b>PNG格式<br /><font size="2">PNG是20世纪90年代中期开始开发的图像文件存储格式，其目的是企图替代GIF和TIFF文件格式，同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format，PNG)名称来源于非官方的“PNG's Not GIF”，是一种位图文件(bitmap file)存储格式，读成“ping”。PNG用来存储灰度图像时，灰度图像的深度可多到16位，存储彩色图像时，彩色图像的深度可多到48位，并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。</font></b>
		</p>
		<p align="left">
				<font size="2">PNG文件格式保留GIF文件格式的下列特性：</font>
		</p>
		<p align="left">
				<font size="2">使用彩色查找表或者叫做调色板可支持256种颜色的彩色图像。 </font>
		</p>
		<p align="left">
				<font size="2">流式读/写性能(streamability)：图像文件格式允许连续读出和写入图像数据，这个特性很适合于在通信过程中生成和显示图像。 </font>
		</p>
		<p align="left">
				<font size="2">逐次逼近显示(progressive display)：这种特性可使在通信链路上传输图像文件的同时就在终端上显示图像，把整个轮廓显示出来之后逐步显示图像的细节，也就是先用低分辨率显示图像，然后逐步提高它的分辨率。 </font>
		</p>
		<p align="left">
				<font size="2">透明性(transparency)：这个性能可使图像中某些部分不显示出来，用来创建一些有特色的图像。 </font>
		</p>
		<p align="left">
				<font size="2">辅助信息(ancillary information)：这个特性可用来在图像文件中存储一些文本注释信息。 </font>
		</p>
		<p align="left">
				<font size="2">独立于计算机软硬件环境。 </font>
		</p>
		<p align="left">
				<font size="2">使用无损压缩。</font>
		</p>
		<p align="left">
				<font size="2">PNG文件格式中要增加下列GIF文件格式所没有的特性：</font>
		</p>
		<p align="left">
				<font size="2">每个像素为48位的真彩色图像。 </font>
		</p>
		<p align="left">
				<font size="2">每个像素为16位的灰度图像。 </font>
		</p>
		<p align="left">
				<font size="2">可为灰度图和真彩色图添加α通道。 </font>
		</p>
		<p align="left">
				<font size="2">添加图像的γ信息。 </font>
		</p>
		<p align="left">
				<font size="2">使用循环冗余码(cyclic redundancy code，CRC)检测损害的文件。 </font>
		</p>
		<p align="left">
				<font size="2">加快图像显示的逐次逼近显示方式。 </font>
		</p>
		<p align="left">
				<font size="2">标准的读/写工具包。 </font>
		</p>
		<p align="left">
				<font size="2">可在一个文件中存储多幅图像。</font>
		</p>
		<dir>
				<font lang="ZH-CN" color="#ff0000" size="2">
						<p align="left">文件结构</p>
				</font>
		</dir>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">PNG图像格式文件(或者称为数据流)由一个8字节的PNG文件署名(PNG file signature)域和按照特定结构组织的3个以上的数据块(chunk)组成。</font>
				</p>
				<p align="left">
						<font size="2">PNG定义了两种类型的数据块，一种是称为关键数据块(critical chunk)，这是标准的数据块，另一种叫做辅助数据块(ancillary chunks)，这是可选的数据块。关键数据块定义了4个标准数据块，每个PNG文件都必须包含它们，PNG读写软件也都必须要支持这些数据块。虽然PNG文件规范没有要求PNG编译码器对可选数据块进行编码和译码，但规范提倡支持可选数据块。</font>
				</p>
		</font>
		<font lang="ZH-CN" color="#800080" size="2">
				<p align="left">(1) PNG文件署名域</p>
		</font>
		<font lang="ZH-CN" size="2">
				<p align="left">8字节的PNG文件署名域用来识别该文件是不是PNG文件。该域的值是：</p>
		</font>
		<div align="left">
				<table id="table5" cellspacing="0" cellpadding="1" width="278" border="0">
						<tbody>
								<tr>
										<td valign="top" width="29%">
												<font lang="ZH-CN" size="2">十进制数</font>
										</td>
										<td valign="top" width="11%">
												<font lang="ZH-CN" size="2">137</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">80</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">78</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">71</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">13</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">10</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">26</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">10</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="29%">
												<font lang="ZH-CN" size="2">十六进制数</font>
										</td>
										<td valign="top" width="11%">
												<font lang="ZH-CN" size="2">89</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">50</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">4e</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">47</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">0d</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">0a</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">1a</font>
										</td>
										<td valign="top" width="9%">
												<font lang="ZH-CN" size="2">0a</font>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
		<font lang="ZH-CN" size="2">
				<p align="left">　</p>
		</font>
		<font lang="ZH-CN" color="#800080" size="2">
				<b>
						<p align="left">(2) 数据块的结构</p>
				</b>
		</font>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">每个数据块都由表6-07所示的的4个域组成。</font>
				</p>
				<dir>
						<b>
								<p align="left">
										<font size="2">表6-07 PNG文件数据块的结构</font>
								</p>
						</b>
				</dir>
		</font>
		<div align="left">
				<table id="table6" style="WIDTH: 397px; HEIGHT: 176px" bordercolor="#000000" cellspacing="2" cellpadding="1" width="397" border="1">
						<tbody>
								<tr>
										<td valign="top" width="37%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">名称</p>
														</b>
												</font>
										</td>
										<td valign="top" width="12%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">字节数</p>
														</b>
												</font>
										</td>
										<td valign="top" width="51%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">说明</p>
														</b>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="37%">
												<font lang="ZH-CN" size="2">Length(长度)</font>
										</td>
										<td valign="top" width="12%">
												<font lang="ZH-CN" size="2">4字节</font>
										</td>
										<td valign="top" width="51%">
												<font lang="ZH-CN" size="2">指定数据块中数据域的长度，其长度不超过<br />(2<sup>31</sup>－1)字节</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="37%">
												<font lang="ZH-CN" size="2">Chunk Type Code(数据块类型码)</font>
										</td>
										<td valign="top" width="12%">
												<font lang="ZH-CN" size="2">4字节</font>
										</td>
										<td valign="top" width="51%">
												<font lang="ZH-CN" size="2">数据块类型码由ASCII字母(A-Z和a-z)组成</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="37%">
												<font lang="ZH-CN" size="2">Chunk Data(数据块数据)</font>
										</td>
										<td valign="top" width="12%">
												<font lang="ZH-CN" size="2">可变长度</font>
										</td>
										<td valign="top" width="51%">
												<font lang="ZH-CN" size="2">存储按照Chunk Type Code指定的数据</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="37%">
												<font lang="ZH-CN" size="2">CRC(循环冗余检测)</font>
										</td>
										<td valign="top" width="12%">
												<font lang="ZH-CN" size="2">4字节</font>
										</td>
										<td valign="top" width="51%">
												<font lang="ZH-CN" size="2">存储用来检测是否有错误的循环冗余码</font>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
		<p align="left">　</p>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">在表6-07中，CRC(<b>c</b>yclic <b>r</b>edundancy <b>c</b>heck)域中的值是对Chunk Type Code域和Chunk Data域中的数据进行计算得到的。CRC具体算法定义在ISO 3309和ITU-T V.42中，其值按下面的CRC码生成多项式进行计算：</font>
				</p>
				<p align="left">
						<font size="2">x<sup>32</sup>+x<sup>26</sup>+x<sup>23</sup>+x<sup>22</sup>+x<sup>16</sup>+x<sup>12</sup>+x<sup>11</sup>+x<sup>10</sup>+x<sup>8</sup>+x<sup>7</sup>+x<sup>5</sup>+x<sup>4</sup>+x<sup>2</sup>+x+1</font>
				</p>
		</font>
		<dir>
				<b>
						<font lang="ZH-CN" color="#ff0000" size="2">
								<p align="left">数据块结构</p>
						</font>
				</b>
		</dir>
		<font lang="ZH-CN" color="#800080" size="2">
				<p align="left">1. 关键数据块</p>
		</font>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">关键数据块中的4个标准数据块是：</font>
				</p>
				<p align="left">
						<font size="2">(1) 文件头数据块IHDR(header chunk)：它包含有PNG文件中存储的图像数据的基本信息，并要作为第一个数据块出现在PNG数据流中，而且一个PNG数据流中只能有一个文件头数据块。</font>
				</p>
				<p align="left">
						<font size="2">文件头数据块由13字节组成，它的格式如表6-08所示。</font>
				</p>
				<dir>
						<b>
								<p align="left">
										<font size="2">表6-08 PNG文件头键数据块的结构</font>
								</p>
						</b>
				</dir>
		</font>
		<div align="left">
				<table id="table7" style="WIDTH: 404px; HEIGHT: 412px" bordercolor="#000000" cellspacing="2" width="404" border="1">
						<tbody>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">
														<p align="center">域的名称</p>
												</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">
														<p align="center">字节数</p>
												</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">
														<p align="center">说明</p>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Width</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">4 bytes</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">图像宽度，以像素为单位</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Height</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">4 bytes</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">图像高度，以像素为单位</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Bit depth</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">图像深度：<br />索引彩色图像：1，2，4或8<br />灰度图像：1，2，4，8或16<br />真彩色图像：8或16</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">ColorType</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN">
														<font size="2">颜色类型：<br />0：灰度图像, 1，2，4，8或16<br />2：真彩色图像，8或16<br />3：索引彩色图像，1，2，4或8</font>
														<p>
																<font size="2">4：带α通道数据的灰度图像，8或16<br />6：带α通道数据的真彩色图像，8或16</font>
														</p>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Compression method</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">压缩方法(LZ77派生算法)</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Filter method</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN" size="2">滤波器方法</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="27%">
												<font lang="ZH-CN" size="2">Interlace method</font>
										</td>
										<td valign="top" width="17%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="56%">
												<font lang="ZH-CN">
														<font size="2">隔行扫描方法：</font>
														<p>
																<font size="2">0：非隔行扫描</font>
														</p>
														<p>
																<font size="2">1： Adam7(由Adam M. Costello开发的7 <br />遍隔行扫描方法)</font>
														</p>
												</font>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
		<p align="left">　</p>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">(2) 调色板数据块PLTE(palette chunk)：它包含有与索引彩色图像((indexed-color image))相关的彩色变换数据，它仅与索引彩色图像有关，而且要放在图像数据块(image data chunk)之前。真彩色的PNG数据流也可以有调色板数据块，目的是便于非真彩色显示程序用它来量化图像数据，从而显示该图像。调色板数据块结构如表6-09所示。</font>
				</p>
				<dir>
						<b>
								<p align="left">
										<font size="2">表6-09 调色板数据块结构</font>
								</p>
						</b>
				</dir>
		</font>
		<div align="left">
				<table id="table8" bordercolor="#000000" cellspacing="2" cellpadding="1" width="234" border="1">
						<tbody>
								<tr>
										<td valign="top" width="28%">
												<font lang="ZH-CN" size="2">
														<p align="center">域的名称</p>
												</font>
										</td>
										<td valign="top" width="22%">
												<font lang="ZH-CN" size="2">
														<p align="center">字节数</p>
												</font>
										</td>
										<td valign="top" width="50%">
												<font lang="ZH-CN" size="2">
														<p align="center">说明</p>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="28%">
												<font lang="ZH-CN" size="2">Red</font>
										</td>
										<td valign="top" width="22%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="50%">
												<font lang="ZH-CN" size="2">0 = 黑，255 = 红</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="28%">
												<font lang="ZH-CN" size="2">Green</font>
										</td>
										<td valign="top" width="22%">
												<font size="2">"&gt; </font>
												<font lang="ZH-CN">
														<p>
																<font size="2">0 = 黑，255 = 绿</font>
														</p>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="28%">
												<font lang="ZH-CN" size="2">Blue</font>
										</td>
										<td valign="top" width="22%">
												<font lang="ZH-CN" size="2">1 byte</font>
										</td>
										<td valign="top" width="50%">
												<font lang="ZH-CN" size="2">0 = 黑，255 = 蓝</font>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
		<p align="left">　</p>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">调色板实际是一个彩色索引查找表，它的表项数目可以是1～256中的一个数，每个表项有3字节，因此调色板数据块所包含的最大字节数为768。</font>
				</p>
				<p align="left">
						<font size="2">(3) 图像数据块IDAT(image data chunk)：它存储实际的数据，在数据流中可包含多个连续顺序的图像数据块。</font>
				</p>
				<p align="left">
						<font size="2">(4) 图像结束数据IEND(image trailer chunk)：它用来标记PNG文件或者数据流已经结束，并且必须要放在文件的尾部。</font>
				</p>
				<p align="left">
						<font size="2">除了表示数据块开始的IHDR必须放在最前面， 表示PNG文件结束的IEND数据块放在最后面之外，其他数据块的存放顺序没有限制。</font>
				</p>
		</font>
		<font lang="ZH-CN" color="#800080" size="2">
				<b>
						<p align="left">2. 辅助数据块</p>
				</b>
		</font>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">PNG文件格式规范制定的10个辅助数据块是：</font>
				</p>
				<p align="left">
						<font size="2">(1) 背景颜色数据块bKGD(background color)。</font>
				</p>
				<p align="left">
						<font size="2">(2) 基色和白色度数据块cHRM(primary chromaticities and white point)。所谓白色度是指当R＝G＝B＝最大值时在显示器上产生的白色度。</font>
				</p>
				<p align="left">
						<font size="2">(3) 图像γ数据块gAMA(image gamma)。</font>
				</p>
				<p align="left">
						<font size="2">(4) 图像直方图数据块hIST(image histogram)。</font>
				</p>
				<p align="left">
						<font size="2">(5) 物理像素尺寸数据块pHYs(physical pixel dimensions)。</font>
				</p>
				<p align="left">
						<font size="2">(6) 样本有效位数据块sBIT(significant bits)。</font>
				</p>
				<p align="left">
						<font size="2">(7) 文本信息数据块tEXt(textual data)。</font>
				</p>
				<p align="left">
						<font size="2">(8) 图像最后修改时间数据块tIME (image last-modification time)。</font>
				</p>
				<p align="left">
						<font size="2">(9) 图像透明数据块tRNS (transparency)。</font>
				</p>
				<p align="left">
						<font size="2">(10) 压缩文本数据块zTXt (compressed textual data)。</font>
				</p>
		</font>
		<font lang="ZH-CN" color="#800080" size="2">
				<b>
						<p align="left">3. 数据块摘要</p>
				</b>
		</font>
		<font lang="ZH-CN">
				<p align="left">
						<font size="2">关键数据块、辅助数据块和专用公共数据块(special-purpose public chunks)综合在表6-10中。</font>
				</p>
				<dir>
						<b>
								<p align="left">
										<font size="2">表6-10 PNG文件格式中的数据块</font>
								</p>
						</b>
				</dir>
		</font>
		<div align="left">
				<table id="table9" style="WIDTH: 395px; HEIGHT: 490px" bordercolor="#000000" cellspacing="2" width="395" border="1">
						<tbody>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">数据块符号</p>
														</b>
												</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">数据块名称</p>
														</b>
												</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">多数据块</p>
														</b>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">可选否</p>
														</b>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">
														<b>
																<p align="center">位置限制</p>
														</b>
												</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">IHDR</font>
										</td>
										<td valign="top" width="30%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">文件头数据块</font>
										</td>
										<td valign="top" width="13%" bgcolor="#ffffff" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="32%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">第一块</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">cHRM</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">基色和白色点数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE和IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">gAMA</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">图像γ数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE和IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">sBIT</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">样本有效位数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE和IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">PLTE</font>
										</td>
										<td valign="top" width="30%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">调色板数据块</font>
										</td>
										<td valign="top" width="13%" bgcolor="#ffffff" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">在IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">bKGD</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">背景颜色数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE之后IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">hIST</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">图像直方图数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE之后IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">tRNS</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">图像透明数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在PLTE之后IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">oFFs</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">pHYs</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">物理像素尺寸数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">sCAL</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">在IDAT之前</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">IDAT</font>
										</td>
										<td valign="top" width="30%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">图像数据块</font>
										</td>
										<td valign="top" width="13%" bgcolor="#ffffff" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="32%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">与其他IDAT连续</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">tIME</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">图像最后修改时间数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">tEXt</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">文本信息数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">zTXt</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">压缩文本数据块</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">fRAc</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">gIFg</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">gIFt</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%">
												<font lang="ZH-CN" size="2">gIFx</font>
										</td>
										<td valign="top" width="30%">
												<font lang="ZH-CN" size="2">(专用公共数据块)</font>
										</td>
										<td valign="top" width="13%" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="10%">
												<font lang="ZH-CN" size="2">
														<p align="center">是</p>
												</font>
										</td>
										<td valign="top" width="32%">
												<font lang="ZH-CN" size="2">无限制</font>
										</td>
								</tr>
								<tr>
										<td valign="top" width="14%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">IEND</font>
										</td>
										<td valign="top" width="30%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">图像结束数据</font>
										</td>
										<td valign="top" width="13%" bgcolor="#ffffff" colspan="3">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="10%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">
														<p align="center">否</p>
												</font>
										</td>
										<td valign="top" width="32%" bgcolor="#ffffff">
												<font lang="ZH-CN" size="2">最后一个数据块</font>
										</td>
								</tr>
						</tbody>
				</table>
		</div>
		<p align="left">　</p>
		<font lang="ZH-CN" size="2">
				<p align="left">tEXt和zTXt数据块中的标准关键字：</p>
		</font>
		<p align="left">
		</p>
		<table id="table10" cellspacing="0" cellpadding="1" width="279" border="0">
				<tbody>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Title</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>图像名称或者标题</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Author</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>图像作者名</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Description</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>图像说明</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Copyright</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>版权声明</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>CreationTime</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>原图创作时间</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Software</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>创作图像使用的软件</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Disclaimer</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>弃权</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Warning</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>图像内容警告</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Source</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>创作图像使用的设备</p>
												</font>
										</dir>
								</td>
						</tr>
						<tr>
								<td valign="top" width="41%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>Comment</p>
												</font>
										</dir>
								</td>
								<td valign="top" width="59%">
										<dir>
												<font lang="ZH-CN" size="2">
														<p>各种注释</p>
												</font>
										</dir>
								</td>
						</tr>
				</tbody>
		</table><img src ="http://www.blogjava.net/security/aggbug/50940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/security/" target="_blank">david.turing</a> 2006-06-06 22:17 <a href="http://www.blogjava.net/security/archive/2006/06/06/PNG_JAVA_LIBARY.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java对BMP图像处理</title><link>http://www.blogjava.net/security/archive/2006/06/05/bitmap_for_java.html</link><dc:creator>david.turing</dc:creator><author>david.turing</author><pubDate>Mon, 05 Jun 2006 00:59:00 GMT</pubDate><guid>http://www.blogjava.net/security/archive/2006/06/05/bitmap_for_java.html</guid><wfw:comment>http://www.blogjava.net/security/comments/50411.html</wfw:comment><comments>http://www.blogjava.net/security/archive/2006/06/05/bitmap_for_java.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/security/comments/commentRss/50411.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/security/services/trackbacks/50411.html</trackback:ping><description><![CDATA[Windows位图(windows上位图是little endian)由四部分组成：<br />A.1，位图文件头部<br />A.2，位图信息头部<br />A.3，颜色表<br />A.4，位图的内容(位图由大量的bit组成)<br /><br />下表来自HackJava，它描述了A1的结构<br /><table style="WIDTH: 467px; HEIGHT: 154px" bordercolor="#000000" width="467" border="1"><tbody><tr valign="top"><td width="87"><center><i># of Bytes</i></center></td><td width="83"><i>Type</i></td><td width="327"><i>Description</i></td></tr><tr valign="top"><td width="87"><center>2</center></td><td width="83">Character </td><td width="327">文件类型，通常是BM开头</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="83">32-bit Int </td><td width="327">文件大小，单位byte</td></tr><tr valign="top"><td width="87"><center>2</center></td><td width="83">16-bit Int </td><td width="327">保留</td></tr><tr valign="top"><td width="87"><center>2</center></td><td width="83">16-bit Int </td><td width="327">保留</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="83">32-bit Int </td><td width="327">位图内容(A.4)开始的字节偏移</td></tr></tbody></table><br /><br />A.2部分的结构如下<br /><table style="WIDTH: 469px; HEIGHT: 321px" bordercolor="#000000" width="469" border="1"><tbody><tr valign="top"><td width="87"><center><i># of Bytes</i></center></td><td width="81"><i>Type</i></td><td width="422"><i>Description</i></td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">信息头的大小(字节数)</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">位图的宽度（如1024像素）</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">位图的高度(如768像素)</td></tr><tr valign="top"><td width="87"><center>2</center></td><td width="81">16-bit Int </td><td width="422">Number of bitplanes (should be 1)</td></tr><tr valign="top"><td width="87"><center>2</center></td><td width="81">16-bit Int </td><td width="422">用多少个位去描述一个像素(1, 4, 8, or 24) </td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">使用的压缩类型</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">如果使用了压缩，需要指定位图的实际大小</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">每米的水平像素的数量(用于放大缩小) </td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">每米的垂直像素的数量(用于放大缩小) </td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">实际用到的颜色数量</td></tr><tr valign="top"><td width="87"><center>4</center></td><td width="81">32-bit Int </td><td width="422">较重要颜色的数量（用于减少颜色数）</td></tr></tbody></table><img src ="http://www.blogjava.net/security/aggbug/50411.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/security/" target="_blank">david.turing</a> 2006-06-05 08:59 <a href="http://www.blogjava.net/security/archive/2006/06/05/bitmap_for_java.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>