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

167 lines
10 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="Interface ImageTranscoder">Interface ImageTranscoder</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
所有已知实现类:
</dt>
<dd>
<span><a href="../../javax/imageio/ImageWriter.html" title="javax.imageio中的类">ImageWriter</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">ImageTranscoder</span></pre>
<div class="block">
<span>提供元数据转码功能的界面。</span>
<p> <span>任何图像都可以通过执行读取操作,然后进行写入操作,进行代码转换(写入与原始存储的格式不同的格式)。</span> <span>但是,由于格式差异,在此过程中可能会发生数据丢失。</span> </p>
<p> <span>一般来说,当可以创建特定于格式的元数据对象以便尽可能多地封装关于图像及其相关联的元数据的信息时,将获得最佳结果,这些信息被用于执行编码的特定<code>ImageWriter</code><code>ImageWriter</code></span> </p>
<p> <span>一个<code>ImageTranscoder</code>可以用于将转换<code>IIOMetadata</code>通过所供给的对象<code>ImageReader</code> (每流和每个图像元数据表示)转换成相应的由一个特定的对象适合于编码<code>ImageWriter</code></span> <span>在直接在<code>ImageWriter</code>上调用该接口的方法的情况下,输出将适用于该作者。</span> </p>
<p> <span><code>IIOMetadata</code>对象转换为写入器特定格式的内部细节将根据操作的上下文而变化。</span> <span>通常, <code>ImageWriter</code>将检查传入对象,看看它是否实现了作者熟悉的其他接口。</span> <span>这可能是这种情况,例如,如果对象是通过与作者写入的读写器插件的读操作获得的。</span> <span>在这种情况下,写入器可以通过其插件特定接口来访问传入对象。</span> <span>在这种情况下,如果图像文件格式保持不变,则重新编码可能接近无损。</span> <span>如果格式发生变化,作者可能仍然尝试保留尽可能多的信息。</span> </p>
<p> <span>如果传入对象没有实现写入器已知的任何其他接口,则作者无需通过标准<code>IIOMetadata</code>接口访问它,例如由<code>IIOMetadata.getAsTree</code>提供的树视图。</span> <span>在这种情况下,可能会有重大的信息丢失。</span> </p>
<p> <span>独立的<code>ImageTranscoder</code>在上述例子中基本上扮演着与插件相同的角色。</span> <span>它必须熟悉读写器插件使用的专用接口,并手动实例化作者可使用的对象。</span> <span>生成的元数据对象可以由作者直接使用。</span> </p>
<p> <span>作为标准API的一部分没有提供ImageTranscoder的<code>ImageTranscoder</code>实现。</span> <span>相反,该接口的目的是提供一种在需要时由应用程序创建和发现实现的方法。</span> </p>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3"><span><a href="javascript:show(4);">抽象方法</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><a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageTranscoder.html#convertImageMetadata-javax.imageio.metadata.IIOMetadata-javax.imageio.ImageTypeSpecifier-javax.imageio.ImageWriteParam-">convertImageMetadata</a></span>(<a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> inData, <a href="../../javax/imageio/ImageTypeSpecifier.html" title="class in javax.imageio">ImageTypeSpecifier</a> imageType, <a href="../../javax/imageio/ImageWriteParam.html" title="class in javax.imageio">ImageWriteParam</a> param)</code>
<div class="block">
返回可用于编码的
<code>IIOMetadata</code>对象并可以使用其文档接口或特定于将用于编码的writer插件的其他接口进行修改。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/imageio/ImageTranscoder.html#convertStreamMetadata-javax.imageio.metadata.IIOMetadata-javax.imageio.ImageWriteParam-">convertStreamMetadata</a></span>(<a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> inData, <a href="../../javax/imageio/ImageWriteParam.html" title="class in javax.imageio">ImageWriteParam</a> param)</code>
<div class="block">
返回可用于编码的
<code>IIOMetadata</code>对象并可使用其文档接口或特定于将用于编码的writer插件的其他接口进行修改。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="convertStreamMetadata-javax.imageio.metadata.IIOMetadata-javax.imageio.ImageWriteParam-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>convertStreamMetadata</h4> <pre><a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> convertStreamMetadata(<a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> inData,
<a href="../../javax/imageio/ImageWriteParam.html" title="class in javax.imageio">ImageWriteParam</a> param)</pre>
<div class="block">
<span>返回可用于编码的<code>IIOMetadata</code>对象并可使用其文档接口或特定于将用于编码的writer插件的其他接口进行可选修改。</span>
<p> <span>可能会为可能影响流元数据结构的情况提供可选的<code>ImageWriteParam</code></span> </p>
<p> <span>如果提供的<code>ImageWriteParam</code>包含此作者或代码转换器不能理解的可选设置值,则它们将被忽略。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>inData</code> - 一个
<code>IIOMetadata</code>流元数据的
<code>IIOMetadata</code>对象,用于初始化返回对象的状态。
</dd>
<dd>
<code>param</code> -一个
<code>ImageWriteParam</code>将被用于对图像,或编码
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>IIOMetadata</code>对象,或
<code>null</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>inData</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="convertImageMetadata-javax.imageio.metadata.IIOMetadata-javax.imageio.ImageTypeSpecifier-javax.imageio.ImageWriteParam-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>convertImageMetadata</h4> <pre><a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> convertImageMetadata(<a href="../../javax/imageio/metadata/IIOMetadata.html" title="class in javax.imageio.metadata">IIOMetadata</a> inData,
<a href="../../javax/imageio/ImageTypeSpecifier.html" title="class in javax.imageio">ImageTypeSpecifier</a> imageType,
<a href="../../javax/imageio/ImageWriteParam.html" title="class in javax.imageio">ImageWriteParam</a> param)</pre>
<div class="block">
<span>返回可用于编码的<code>IIOMetadata</code>对象并可使用其文档接口或特定于将用于编码的writer插件的其他接口进行修改。</span>
<p> <span>可能会为可能影响图像元数据结构的情况提供可选的<code>ImageWriteParam</code></span> </p>
<p> <span>如果提供的<code>ImageWriteParam</code>包含此写入器或代码转换器不能理解的可选设置值,则它们将被忽略。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>inData</code> - 表示图像元数据的
<code>IIOMetadata</code>对象,用于初始化返回对象的状态。
</dd>
<dd>
<code>imageType</code> -
<code>ImageTypeSpecifier</code> ,其指示将与元数据相关联的图像的布局和颜色信息。
</dd>
<dd>
<code>param</code> -一个
<code>ImageWriteParam</code>将被用于对图像,或编码
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>IIOMetadata</code>对象,或
<code>null</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>inData</code>
<code>imageType</code>中的任何一个是
<code>null</code>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>