Module java.desktop

Class JPEGImageWriteParam

java.lang.Object
javax.imageio.IIOParam
javax.imageio.ImageWriteParam
javax.imageio.plugins.jpeg.JPEGImageWriteParam

public class JPEGImageWriteParam extends ImageWriteParam
此类在使用内置JPEG写入器插件时添加了设置JPEG量化和霍夫曼表的功能,并请求为图像计算优化的霍夫曼表。当从内置JPEG ImageWritergetDefaultImageWriteParam方法返回此类的实例时。

这些添加的主要目的是允许指定用于编码简化流的表。内置JPEG写入器还将接受普通的ImageWriteParam,在这种情况下,写入器将在内部构造必要的表。

无论哪种情况,ImageWriteParam中的质量设置与基础库的含义相同:1.00表示所有1的量化表,0.75表示“标准”的视觉无损量化表,0.00表示所有255的量化表。

通常,简化流的表是通过首先编写仅包含表的简化流来指定的,在某些应用程序中,表是提前固定的。此类允许直接从客户端代码指定表。

通常,表是在传递给写入器的IIOMetadata对象中指定的,并且这些对象中包含的任何表都将写入流。如果在元数据中未指定表,则将编写简化流。如果在元数据中未包含表且在JPEGImageWriteParam中未指定表,则将使用“标准”视觉无损表对简化流进行编码。当必须在不先向流写入任何表的情况下编写简化流时,需要此类。为了使用此类,传递给写入器的元数据对象必须不包含表,并且不得提供流元数据。有关默认表的更多信息,请参阅JPEGQTableJPEGHuffmanTable

由写入器的getDefaultWriteParam方法返回的默认JPEGImageWriteParam不包含表。默认表包含在写入器返回的默认IIOMetadata对象中。

如果元数据包含表,则将忽略JPEGImageWriteParam中给定的表。此外,一旦写入了一组表,只有元数据中的表才能覆盖它们以进行后续写入,无论是到相同流还是到不同流。为了使用此类指定新表,必须调用写入器的reset方法。

有关内置JPEG插件操作的更多信息,请参阅JPEG元数据格式规范和使用说明