uTools-Manuals/docs/java/javax/imageio/ImageReadParam.html

688 lines
40 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.imageio
</div>
<h2 class="title" title="Class ImageReadParam">Class ImageReadParam</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../javax/imageio/IIOParam.html" title="class in javax.imageio">javax.imageio.IIOParam</a></li>
<li>
<ul class="inheritance">
<li>javax.imageio.ImageReadParam</li>
</ul> </li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
已知直接子类:
</dt>
<dd>
<span><a href="../../javax/imageio/plugins/jpeg/JPEGImageReadParam.html" title="javax.imageio.plugins.jpeg中的类">JPEGImageReadParam</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public class <span class="typeNameLabel">ImageReadParam</span>
extends <a href="../../javax/imageio/IIOParam.html" title="class in javax.imageio">IIOParam</a></pre>
<div class="block">
<span>描述流如何解码的类。</span>
<span>该类或其子类的实例用于向ImageReader的实例提供规定的“how-to” <code>ImageReader</code></span>
<p> <span>编码为文件或流的一部分的图像可以被认为在多个维度上延伸:宽度和高度的空间维度,频带的数量以及逐行解码通路的数量。</span> <span>该类允许选择所有这些维度中的图像的连续(超)矩形子区域进行解码。</span> <span>此外,空间维度可以不连续地二次采样。</span> <span>最后,可以通过使用<code>BufferedImage</code>或使用<code>ImageTypeSpecifier</code>控制目标图像的<code>ColorModel</code><code>SampleModel</code>来指定颜色和格式<code>ImageTypeSpecifier</code></span> </p>
<p> <span><code>ImageReadParam</code>对象用于指定如何在Java Image I / O框架的上下文中从流中输入的图像或一组图像进行转换。</span> <span>用于特定图像格式的<code>ImageReadParam</code>将从其<code>ImageReader</code>实现的<code>getDefaultReadParam</code>方法返回ImageReadParam的实例。</span> </p>
<p> <span>由ImageReadParam实例<code>ImageReadParam</code>的状态与被解码的任何特定图像无关。</span> <span>当实际解码发生时,将读取参数中设置的值与正在解码的图像的实际属性和将接收解码的像素数据的目标<code>BufferedImage</code></span> <span>例如,使用<code>setSourceRegion</code>设置的源区域将首先与实际的有效源区域相交。</span> <span>结果将由getDestinationOffset返回的值进行<code>getDestinationOffset</code> ,并将所得到的矩形与实际有效目标区域相交,以产生将被写入的目标区域。</span> </p>
<p> <span>由ImageReadParam指定的<code>ImageReadParam</code>应用于图像如下。</span> <span>首先,如果呈现大小,已被设置<code>setSourceRenderSize</code> ,整个解码图像在给出的大小来呈现<code>getSourceRenderSize</code></span> <span>否则,图像的自然尺寸由<code>ImageReader.getWidth</code><code>ImageReader.getHeight</code></span> </p>
<p> <span>接下来,图像被裁剪针对由指定的源区<code>getSourceXOffset</code> <code>getSourceYOffset</code> <code>getSourceWidth</code><code>getSourceHeight</code></span> </p>
<p> <span>然后根据<code>IIOParam.setSourceSubsampling</code>中给出的因素对所得区域进行二次<a href="../../javax/imageio/IIOParam.html#setSourceSubsampling-int-int-int-int-">抽样</a></span> <span>第一个像素,每行的像素数以及行数都取决于子采样设置。</span> <span>呼叫的最小X和所得矩形Y坐标<code>minX</code> <code>minY</code> ),其宽度<code>w</code>和其高度<code>h</code></span> </p>
<p> <span>该矩形是通过(偏移<code>getDestinationOffset().x</code> <code>getDestinationOffset().y</code> )和针对目的地边界裁剪。</span> <span>如果没有设置目的地图像,目的地被定义为宽度为<code>getDestinationOffset().x</code> + <code>w</code> ,高度为<code>getDestinationOffset().y</code> + <code>h</code> ,以便可以将源区域的所有像素写入目的地。</span> </p>
<p> <span>在二次抽样之后,在目标图像中着陆并以<code>getSourceMinProgressivePass</code><code>getSourceNumProgressivePasses</code>的渐进通过之一进行<code>getSourceMinProgressivePass</code> <code>getSourceNumProgressivePasses</code>被传递到下一步。</span> </p>
<p> <span>最后根据setDestinationBands的评论中<code>setDestinationBands</code>算法将每个像素的源样本映射到目标频带。</span> </p>
<p> <span>插件作家可以延伸的功能<code>ImageReadParam</code>通过提供实现额外的子类,插件特定的接口。</span> <span>插件可以记录哪些接口可用,以及如何使用它们。</span> <span>读者将默认忽略他们不知道的<code>ImageReadParam</code>子类的任何扩展功能。</span> <span>此外,他们可能忽略通过<code>getDefaultReadParam</code>创建自己的<code>ImageReadParam</code>实例时通常禁用的任何可选功能。</span> </p>
<p> <span>请注意,除非存在某种功能的查询方法,否则必须由所有<code>ImageReader</code>支持( <i>例如,</i>源渲染大小是可选的,但必须支持子抽样)。</span> </p>
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../javax/imageio/ImageReader.html" title="javax.imageio中的类"><code>ImageReader</code></a> <a href="../../javax/imageio/ImageWriter.html" title="javax.imageio中的类"><code>ImageWriter</code></a> <a href="../../javax/imageio/ImageWriteParam.html" title="javax.imageio中的类"><code>ImageWriteParam</code></a></span>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#canSetSourceRenderSize">canSetSourceRenderSize</a></span></code>
<div class="block">
<code>true</code>如果这
<code>ImageReadParam</code>允许设置源渲染维度。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#destination">destination</a></span></code>
<div class="block">
当前目的地
<code>BufferedImage</code>
<code>null</code>如果没有设置。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#destinationBands">destinationBands</a></span></code>
<div class="block">
要使用的目标频带集合,作为
<code>int</code>的阵列。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#minProgressivePass">minProgressivePass</a></span></code>
<div class="block">
从源读取的逐行传递的最小索引。
</div> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#numProgressivePasses">numProgressivePasses</a></span></code>
<div class="block">
从源头读取的最大次数。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#sourceRenderSize">sourceRenderSize</a></span></code>
<div class="block">
如果
<code>canSetSourceRenderSize</code>
<code>true</code>
<code>null</code> ,则所需的渲染宽度和源的高度。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.imageio.IIOParam">
<!-- --> </a> <h3>Fields inherited from class javax.imageio.<a href="../../javax/imageio/IIOParam.html" title="class in javax.imageio">IIOParam</a></h3> <code><a href="../../javax/imageio/IIOParam.html#controller">controller</a>, <a href="../../javax/imageio/IIOParam.html#defaultController">defaultController</a>, <a href="../../javax/imageio/IIOParam.html#destinationOffset">destinationOffset</a>, <a href="../../javax/imageio/IIOParam.html#destinationType">destinationType</a>, <a href="../../javax/imageio/IIOParam.html#sourceBands">sourceBands</a>, <a href="../../javax/imageio/IIOParam.html#sourceRegion">sourceRegion</a>, <a href="../../javax/imageio/IIOParam.html#sourceXSubsampling">sourceXSubsampling</a>, <a href="../../javax/imageio/IIOParam.html#sourceYSubsampling">sourceYSubsampling</a>, <a href="../../javax/imageio/IIOParam.html#subsamplingXOffset">subsamplingXOffset</a>, <a href="../../javax/imageio/IIOParam.html#subsamplingYOffset">subsamplingYOffset</a></code></li>
</ul> </li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#ImageReadParam--">ImageReadParam</a></span>()</code>
<div class="block">
构造一个
<code>ImageReadParam</code>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#canSetSourceRenderSize--">canSetSourceRenderSize</a></span>()</code>
<div class="block">
返回
<code>true</code>如果该读取器允许源图像以任意大小作为解码过程的一部分,通过
<code>setSourceRenderSize</code>方法。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getDestination--">getDestination</a></span>()</code>
<div class="block">
返回
<code>BufferedImage</code>目前由设置
<code>setDestination</code>方法,或
<code>null</code> ,如果没有设置。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getDestinationBands--">getDestinationBands</a></span>()</code>
<div class="block">
返回将放置数据的频带索引集。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getSourceMaxProgressivePass--">getSourceMaxProgressivePass</a></span>()</code>
<div class="block">
如果
<code>getSourceNumProgressivePasses</code>等于
<code>Integer.MAX_VALUE</code> ,则返回
<code>Integer.MAX_VALUE</code>
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getSourceMinProgressivePass--">getSourceMinProgressivePass</a></span>()</code>
<div class="block">
返回将被解码的第一个循环遍的索引。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getSourceNumProgressivePasses--">getSourceNumProgressivePasses</a></span>()</code>
<div class="block">
返回将被解码的渐进道次数。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#getSourceRenderSize--">getSourceRenderSize</a></span>()</code>
<div class="block">
如果通过
<code>setSourceRenderSize</code>方法设置,则返回源映像在解码过程中渲染时的宽度和高度。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#setDestination-java.awt.image.BufferedImage-">setDestination</a></span>(<a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a> destination)</code>
<div class="block">
提供
<code>BufferedImage</code>作为解码像素数据的目的地。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#setDestinationBands-int:A-">setDestinationBands</a></span>(int[] destinationBands)</code>
<div class="block">
设置要放置数据的目标频带的索引。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#setDestinationType-javax.imageio.ImageTypeSpecifier-">setDestinationType</a></span>(<a href="../../javax/imageio/ImageTypeSpecifier.html" title="class in javax.imageio">ImageTypeSpecifier</a> destinationType)</code>
<div class="block">
使用
<code>ImageTypeSpecifier</code>设置目标图像的所需图像类型。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#setSourceProgressivePasses-int-int-">setSourceProgressivePasses</a></span>(int minPass, int numPasses)</code>
<div class="block">
设置将被解码的渐进道次的范围。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageReadParam.html#setSourceRenderSize-java.awt.Dimension-">setSourceRenderSize</a></span>(<a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a> size)</code>
<div class="block">
如果图像能够以任意大小呈现,请将源宽度和高度设置为提供的值。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.imageio.IIOParam">
<!-- --> </a> <h3>Methods inherited from class javax.imageio.<a href="../../javax/imageio/IIOParam.html" title="class in javax.imageio">IIOParam</a></h3> <code><a href="../../javax/imageio/IIOParam.html#activateController--">activateController</a>, <a href="../../javax/imageio/IIOParam.html#getController--">getController</a>, <a href="../../javax/imageio/IIOParam.html#getDefaultController--">getDefaultController</a>, <a href="../../javax/imageio/IIOParam.html#getDestinationOffset--">getDestinationOffset</a>, <a href="../../javax/imageio/IIOParam.html#getDestinationType--">getDestinationType</a>, <a href="../../javax/imageio/IIOParam.html#getSourceBands--">getSourceBands</a>, <a href="../../javax/imageio/IIOParam.html#getSourceRegion--">getSourceRegion</a>, <a href="../../javax/imageio/IIOParam.html#getSourceXSubsampling--">getSourceXSubsampling</a>, <a href="../../javax/imageio/IIOParam.html#getSourceYSubsampling--">getSourceYSubsampling</a>, <a href="../../javax/imageio/IIOParam.html#getSubsamplingXOffset--">getSubsamplingXOffset</a>, <a href="../../javax/imageio/IIOParam.html#getSubsamplingYOffset--">getSubsamplingYOffset</a>, <a href="../../javax/imageio/IIOParam.html#hasController--">hasController</a>, <a href="../../javax/imageio/IIOParam.html#setController-javax.imageio.IIOParamController-">setController</a>, <a href="../../javax/imageio/IIOParam.html#setDestinationOffset-java.awt.Point-">setDestinationOffset</a>, <a href="../../javax/imageio/IIOParam.html#setSourceBands-int:A-">setSourceBands</a>, <a href="../../javax/imageio/IIOParam.html#setSourceRegion-java.awt.Rectangle-">setSourceRegion</a>, <a href="../../javax/imageio/IIOParam.html#setSourceSubsampling-int-int-int-int-">setSourceSubsampling</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="canSetSourceRenderSize">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>canSetSourceRenderSize</h4> <pre>protected boolean canSetSourceRenderSize</pre>
<div class="block">
<span><code>true</code>如果这个<code>ImageReadParam</code>允许设置源渲染维度。</span>
<span>默认值为<code>false</code></span>
<span>子类必须手动设置此值。</span>
<p> <span><code>ImageReader</code> s不支持设置源渲染大小应将此值设置为<code>false</code></span> </p>
</div> </li>
</ul> <a name="sourceRenderSize">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sourceRenderSize</h4> <pre>protected <a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a> sourceRenderSize</pre>
<div class="block">
<span>源的所需渲染宽度和高度,如果<code>canSetSourceRenderSize</code><code>true</code><code>null</code></span>
<p> <span><code>ImageReader</code> s不支持设置源渲染大小可能会忽略此值。</span> </p>
</div> </li>
</ul> <a name="destination">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>destination</h4> <pre>protected <a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a> destination</pre>
<div class="block">
<span>当前目的地<code>BufferedImage</code><code>null</code>如果没有设置。</span>
<span>默认值为<code>null</code></span>
</div> </li>
</ul> <a name="destinationBands">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>destinationBands</h4> <pre>protected int[] destinationBands</pre>
<div class="block">
<span>要使用的一组目的地频段,作为<code>int</code>的阵列。</span>
<span>默认值为<code>null</code> ,表示所有目的地频段应按顺序写入。</span>
</div> </li>
</ul> <a name="minProgressivePass">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>minProgressivePass</h4> <pre>protected int minProgressivePass</pre>
<div class="block">
<span>从源读取的逐行传递的最小索引。</span>
<span>默认情况下该值设置为0表示从第一个可用通过开始的通过应被解码。</span>
<p> <span>子类应确保此值为非负数。</span> </p>
</div> </li>
</ul> <a name="numProgressivePasses">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>numProgressivePasses</h4> <pre>protected int numProgressivePasses</pre>
<div class="block">
<span>从源头读取的最大次数。</span>
<span>默认情况下,该值被设置为<code>Integer.MAX_VALUE</code> ,这表示应该解码通过并包括最后一个可用的通行证。</span>
<p> <span>子类应确保此值为正。</span> <span>另外如果值不是<code>Integer.MAX_VALUE</code> ,那么<code>minProgressivePass + numProgressivePasses - 1</code>不应超过<code>Integer.MAX_VALUE</code></span> </p>
</div> </li>
</ul> </li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="ImageReadParam--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ImageReadParam</h4> <pre>public ImageReadParam()</pre>
<div class="block">
构造一个
<code>ImageReadParam</code>
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="setDestinationType-javax.imageio.ImageTypeSpecifier-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDestinationType</h4> <pre>public void setDestinationType(<a href="../../javax/imageio/ImageTypeSpecifier.html" title="class in javax.imageio">ImageTypeSpecifier</a> destinationType)</pre>
<div class="block">
<span class="descfrmTypeLabel">描述从类别复制: <code><a href="../../javax/imageio/IIOParam.html#setDestinationType-javax.imageio.ImageTypeSpecifier-">IIOParam</a></code></span>
</div>
<div class="block">
<span>使用<code>ImageTypeSpecifier</code>设置目标图像所需的图像类型。</span>
<p> <span>读取时,如果目标的布局已经使用这种方法设置,每次调用一个<code>ImageReader</code> <code>read</code>方法将返回一个新<code>BufferedImage</code>使用由所提供的类型说明符所指定的格式。</span> <span>作为副作用,任何由<code>BufferedImage</code>设置的<code>ImageReadParam.setDestination(BufferedImage)</code>将不再被设置为目的地。</span> <span>换句话说,这种方法可以被认为是调用<code>setDestination((BufferedImage)null)</code></span> </p>
<p> <span>当写入时,目的地类型可能用于确定图像的颜色类型。</span> <span><code>SampleModel</code>信息将被忽略,可能是<code>null</code></span> <span>例如4带图像可以表示CMYK或RGBA数据。</span> <span>如果设置了目的地类型,其<code>ColorModel</code>将覆盖图像本身上的任何<code>ColorModel</code></span> <span>当使用<code>setSourceBands</code>时,这是至关重要的,因为图像的<code>ColorModel</code>将引用整个图像,而不是被写入的带子集。</span> </p>
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../javax/imageio/IIOParam.html#setDestinationType-javax.imageio.ImageTypeSpecifier-">setDestinationType</a></code>
<code><a href="../../javax/imageio/IIOParam.html" title="class in javax.imageio">IIOParam</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>destinationType</code> -的
<code>ImageTypeSpecifier</code>被用来确定目标布局和颜色类型。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/IIOParam.html#getDestinationType--"><code>IIOParam.getDestinationType()</code></a>
</dd>
</dl> </li>
</ul> <a name="setDestination-java.awt.image.BufferedImage-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDestination</h4> <pre>public void setDestination(<a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a> destination)</pre>
<div class="block">
<span>提供一个<code>BufferedImage</code>作为解码像素数据的目的地。</span>
<span>当前设置的图像将被写入到<code>read</code> <code>readAll</code><code>readRaster</code>方法,以及对它的引用将由这些方法返回。</span>
<p> <span>在偏移通过指定从前述方法中的象素数据将被写入的起始<code>getDestinationOffset</code></span> </p>
<p> <span>如果<code>destination</code><code>null</code> ,则通过这些方法将返回新创建的<code>BufferedImage</code></span> </p>
<p> <span>在读出时,该图像被检查以验证其<code>ColorModel</code><code>SampleModel</code>对应的一个<code>ImageTypeSpecifier</code> š从返回<code>ImageReader</code><code>getImageTypes</code>方法。</span> <span>如果没有,读者会扔一个<code>IIOException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>destination</code> - 要写入的BufferedImage
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#getDestination--"><code>getDestination()</code></a>
</dd>
</dl> </li>
</ul> <a name="getDestination--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDestination</h4> <pre>public <a href="../../java/awt/image/BufferedImage.html" title="class in java.awt.image">BufferedImage</a> getDestination()</pre>
<div class="block">
返回
<code>BufferedImage</code>目前由设置
<code>setDestination</code>方法,或
<code>null</code> ,如果没有设置。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
要写的BufferedImage。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setDestination-java.awt.image.BufferedImage-"><code>setDestination(java.awt.image.BufferedImage)</code></a>
</dd>
</dl> </li>
</ul> <a name="setDestinationBands-int:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDestinationBands</h4> <pre>public void setDestinationBands(int[] destinationBands)</pre>
<div class="block">
<span>设置要放置数据的目标频带的索引。</span>
<span>不允许重复索引。</span>
<p> <span><code>null</code>值表示将使用所有目标频带。</span> </p>
<p> <span>如果没有指定目的地图像,则选择目的地频带子集不会影响读取的输出图像中的频带数;</span> <span>创建的目标图像仍然具有相同数量的带,就像该方法从未被调用一样。</span> <span>如果需要目标图像中的不同数量的频带,则必须使用<code>ImageReadParam.setDestination</code>方法提供图像。</span> </p>
<p> <span>在读取或写入时,一个<code>IllegalArgumentException</code>将由读取器或写入器被抛出如果已指定比最大目标band指数值更大的值或者如果要使用的源频带和目的地频带的数目是不同的。</span> <span><code>ImageReader.checkReadParamBandSettings</code>方法可用于自动化此测试。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>destinationBands</code> - 要使用的整数带索引数组。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>destinationBands</code>包含负值或重复值。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#getDestinationBands--"><code>getDestinationBands()</code></a>
<a href="../../javax/imageio/IIOParam.html#getSourceBands--"><code>IIOParam.getSourceBands()</code></a>
<a href="../../javax/imageio/ImageReader.html#checkReadParamBandSettings-javax.imageio.ImageReadParam-int-int-"><code>ImageReader.checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getDestinationBands--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDestinationBands</h4> <pre>public int[] getDestinationBands()</pre>
<div class="block">
<span>返回将放置数据的频带索引集。</span>
<span>如果未设置任何值,则返回<code>null</code>以指示将使用所有目的地频带。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
要使用的目的地频段的索引,或
<code>null</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setDestinationBands-int:A-"><code>setDestinationBands(int[])</code></a>
</dd>
</dl> </li>
</ul> <a name="canSetSourceRenderSize--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>canSetSourceRenderSize</h4> <pre>public boolean canSetSourceRenderSize()</pre>
<div class="block">
<span>返回<code>true</code>如果该读取器允许源图像以任意大小作为解码过程的一部分,通过<code>setSourceRenderSize</code>方法。</span>
<span>如果这个方法返回<code>false</code> ,调用<code>setSourceRenderSize</code>会抛出一个<code>UnsupportedOperationException</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果设置源渲染大小被支持。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setSourceRenderSize-java.awt.Dimension-"><code>setSourceRenderSize(java.awt.Dimension)</code></a>
</dd>
</dl> </li>
</ul> <a name="setSourceRenderSize-java.awt.Dimension-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setSourceRenderSize</h4> <pre>public void setSourceRenderSize(<a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a> size)
throws <a href="../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></pre>
<div class="block">
<span>如果图像能够以任意大小呈现,请将源宽度和高度设置为提供的值。</span>
<span>请注意, <code>getWidth</code><code>getHeight</code>方法在<code>ImageReader</code>上返回的值不受此方法的影响;</span>
<span>他们将继续返回图像的默认大小。</span>
<span>类似地,如果图像也是平铺的,则按照默认大小给出图块的宽度和高度。</span>
<p> <span>通常情况下,宽度和高度的选择应使得宽度与高度之比非常接近的图像的纵横比,如从返回<code>ImageReader.getAspectRatio</code></span> </p>
<p> <span>如果此插件不允许设置渲染大小,则会抛出<code>UnsupportedOperationException</code></span> </p>
<p> <span>要删除渲染大小设置,请传递<code>null</code><code>size</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>size</code> -一个
<code>Dimension</code>指示期望的宽度和高度。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果宽度或高度为负或为0。
</dd>
<dd>
<code><a href="../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果此插件不支持图像调整大小。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#getSourceRenderSize--"><code>getSourceRenderSize()</code></a>
<a href="../../javax/imageio/ImageReader.html#getWidth-int-"><code>ImageReader.getWidth(int)</code></a>
<a href="../../javax/imageio/ImageReader.html#getHeight-int-"><code>ImageReader.getHeight(int)</code></a>
<a href="../../javax/imageio/ImageReader.html#getAspectRatio-int-"><code>ImageReader.getAspectRatio(int)</code></a>
</dd>
</dl> </li>
</ul> <a name="getSourceRenderSize--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSourceRenderSize</h4> <pre>public <a href="../../java/awt/Dimension.html" title="class in java.awt">Dimension</a> getSourceRenderSize()</pre>
<div class="block">
<span>如果通过<code>setSourceRenderSize</code>方法设置,则返回源映像在解码过程中渲染的宽度和高度。</span>
<span><code>null</code>值表示没有设置。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
源图像的渲染宽度和高度为
<code>Dimension</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setSourceRenderSize-java.awt.Dimension-"><code>setSourceRenderSize(java.awt.Dimension)</code></a>
</dd>
</dl> </li>
</ul> <a name="setSourceProgressivePasses-int-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setSourceProgressivePasses</h4> <pre>public void setSourceProgressivePasses(int minPass,
int numPasses)</pre>
<div class="block">
<span>设置将被解码的渐进道次的范围。</span>
<span>超出此范围的通过将被忽略。</span>
<p> <span>逐行通过是整个图像的重新编码,通常是逐渐更高的有效分辨率,但是需要更大的传输带宽。</span> <span>逐行编码的最常用的用法是以JPEG格式发现其中连续通过包括高频图像内容的更详细的表示。</span> </p>
<p> <span>基于流中可用的实际通过次数,在解码期间确定要解码的实际传送次数。</span> <span>因此,如果<code>minPass + numPasses - 1</code>大于最后可用路径的索引,解码将以该路径结束。</span> </p>
<p> <span>的值<code>numPasses</code><code>Integer.MAX_VALUE</code>表明,所有通行证<code>minPass</code>前应阅读。</span> <span>否则,最后一次通过的指数( <i></i> <code>minPass + numPasses - 1</code> )不能超过<code>Integer.MAX_VALUE</code></span> </p>
<p> <span>没有<code>unsetSourceProgressivePasses</code>方法;</span> <span>通过调用<code>setSourceProgressivePasses(0, Integer.MAX_VALUE)</code>可以获得相同的效果。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>minPass</code> - 要解码的第一遍的索引。
</dd>
<dd>
<code>numPasses</code> - 要解码的最大通过次数。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>minPass</code>为负数,则
<code>numPasses</code>为负数或0
<code>numPasses</code>小于
<code>Integer.MAX_VALUE</code>
<code>minPass + numPasses - 1</code>大于
<code>INTEGER.MAX_VALUE</code>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#getSourceMinProgressivePass--"><code>getSourceMinProgressivePass()</code></a>
<a href="../../javax/imageio/ImageReadParam.html#getSourceMaxProgressivePass--"><code>getSourceMaxProgressivePass()</code></a>
</dd>
</dl> </li>
</ul> <a name="getSourceMinProgressivePass--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSourceMinProgressivePass</h4> <pre>public int getSourceMinProgressivePass()</pre>
<div class="block">
<span>返回将被解码的第一个循环遍的索引。</span>
<span>如果没有设置值则返回0这是正确的值</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
将被解码的第一遍的索引。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setSourceProgressivePasses-int-int-"><code>setSourceProgressivePasses(int, int)</code></a>
<a href="../../javax/imageio/ImageReadParam.html#getSourceNumProgressivePasses--"><code>getSourceNumProgressivePasses()</code></a>
</dd>
</dl> </li>
</ul> <a name="getSourceMaxProgressivePass--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSourceMaxProgressivePass</h4> <pre>public int getSourceMaxProgressivePass()</pre>
<div class="block">
<span>如果<code>getSourceNumProgressivePasses</code>等于<code>Integer.MAX_VALUE</code> ,则返回<code>Integer.MAX_VALUE</code></span>
<span>否则返回<code>getSourceMinProgressivePass() + getSourceNumProgressivePasses() - 1</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
最后一次通过索引的索引,或
<code>Integer.MAX_VALUE</code>
</dd>
</dl> </li>
</ul> <a name="getSourceNumProgressivePasses--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getSourceNumProgressivePasses</h4> <pre>public int getSourceNumProgressivePasses()</pre>
<div class="block">
<span>返回将被解码的渐进道次数。</span>
<span>如果没有设置值,则返回<code>Integer.MAX_VALUE</code> (这是正确的值)。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
将被解码的通过次数。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../javax/imageio/ImageReadParam.html#setSourceProgressivePasses-int-int-"><code>setSourceProgressivePasses(int, int)</code></a>
<a href="../../javax/imageio/ImageReadParam.html#getSourceMinProgressivePass--"><code>getSourceMinProgressivePass()</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>