Spec-Zone .ru
спецификации, руководства, описания, API
|
public class JPEGImageWriteParam extends ImageWriteParam
getDefaultImageWriteParam
методы встроенного JPEG ImageWriter
. Основная цель этих дополнений состоит в том, чтобы позволить спецификации таблиц использовать в кодировании сокращенных потоков. Встроенный писатель JPEG также примет дежурное блюдо ImageWriteParam
, когда писатель создаст необходимые таблицы внутренне.
В любом случае, качество, начинающееся ImageWriteParam
имеет то же самое значение что касается базовой библиотеки: 1.00 означает, что таблица квантования всех 1's, 0.75 означает "стандарт", визуально таблицу квантования без потерь, и 0.00 средства aquantization таблица всех 255's.
В то время как таблицы для сокращенных потоков часто определяются первой записью сокращенного потока, содержащего только таблицы в некоторых приложениях, таблицы фиксируются загодя. Этот класс позволяет таблицам быть определенными непосредственно от клиентского кода.
Обычно, таблицы определяются в IIOMetadata
объекты, которые передают в писателю, и любым таблицам, включенным в эти объекты, пишутся потоку. Если никакие таблицы не определяются в метаданных, то сокращенный поток пишется. Если никакие таблицы не включаются в метаданные, и никакие таблицы не определяются в a JPEGImageWriteParam
, тогда сокращенный поток кодируется, используя "стандарт" визуально таблицы без потерь. Этот класс необходим для того, чтобы определить таблицы, когда сокращенный поток должен быть записан, не пишущий таблиц в поток сначала. Чтобы использовать этот класс, объект метаданных, который передают в писателя, не должен содержать таблицы, и никакие потоковые метаданные не должны быть обеспечены. См.
и JPEGQTable
для получения дополнительной информации о таблицах по умолчанию. JPEGHuffmanTable
Значение по умолчанию JPEGImageWriteParam
возвращенный getDefaultWriteParam
метод писателя не содержит таблиц. Таблицы по умолчанию включаются в значение по умолчанию IIOMetadata
объекты возвратились писателем.
Если метаданные действительно содержат таблицы, таблицы, данные в a JPEGImageWriteParam
игнорируются. Кроме того, как только ряд таблиц был записан, только таблицы в метаданных могут переопределить их для последующих записей, ли к тому же самому потоку или различному. Чтобы определить новые таблицы, используя этот класс,
метод писателя нужно вызвать. reset
Для получения дополнительной информации о работе встроенных плагинов JPEG, см. спецификацию формата метаданных JPEG и примечания использования.
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, compressionMode, compressionQuality, compressionType, compressionTypes, locale, MODE_COPY_FROM_METADATA, MODE_DEFAULT, MODE_DISABLED, MODE_EXPLICIT, preferredTileSizes, progressiveMode, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, tilingMode, tilingSet
controller, defaultController, destinationOffset, destinationType, sourceBands, sourceRegion, sourceXSubsampling, sourceYSubsampling, subsamplingXOffset, subsamplingYOffset
Конструктор и Описание |
---|
JPEGImageWriteParam(Locale locale)
Конструкции a
JPEGImageWriteParam . |
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
areTablesSet()
Возвраты
true если на столы в настоящий момент накрывают. |
JPEGHuffmanTable[] |
getACHuffmanTables()
Возвращает копию массива табличного набора Хаффмана AC на новом звонке
setEncodeTables , или null если на столы в настоящий момент не накрывают. |
Строка[] |
getCompressionQualityDescriptions()
Возвращает массив
String s, который может использоваться наряду с getCompressionQualityValues как часть пользовательского интерфейса для установки или отображения уровня качества сжатия. |
float[] |
getCompressionQualityValues()
Возвращает массив
float s, который может использоваться наряду с getCompressionQualityDescriptions как часть пользовательского интерфейса для установки или отображения уровня качества сжатия. |
JPEGHuffmanTable[] |
getDCHuffmanTables()
Возвращает копию массива табличного набора Хаффмана DC на новом звонке
setEncodeTables , или null если на столы в настоящий момент не накрывают. |
boolean |
getOptimizeHuffmanTables()
Возвращает значение, которое передают в новый звонок
setOptimizeHuffmanTables , или false если setOptimizeHuffmanTables никогда не вызывался. |
JPEGQTable[] |
getQTables()
Возвращает копию массива табличного набора квантования на новом звонке
setEncodeTables , или null если на столы в настоящий момент не накрывают. |
boolean |
isCompressionLossless()
Возвраты
false так как плагин JPEG только поддерживает сжатие с потерями. |
void |
setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
Устанавливает квантование и таблицы Хафмана, чтобы использовать в кодировании сокращенных потоков.
|
void |
setOptimizeHuffmanTables(boolean optimize)
Говорит писателю генерировать оптимизированные таблицы Хафмана для изображения как часть записи.
|
void |
unsetCompression()
Удаляет любую предыдущую качественную установку сжатия.
|
void |
unsetEncodeTables()
Удаляет любое квантование и столы Хафмана, на которые в настоящий момент накрывают.
|
canOffsetTiles, canWriteCompressed, canWriteProgressive, canWriteTiles, getBitRate, getCompressionMode, getCompressionQuality, getCompressionType, getCompressionTypes, getLocale, getLocalizedCompressionTypeName, getPreferredTileSizes, getProgressiveMode, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, getTilingMode, setCompressionMode, setCompressionQuality, setCompressionType, setProgressiveMode, setTiling, setTilingMode, unsetTiling
activateController, getController, getDefaultController, getDestinationOffset, getDestinationType, getSourceBands, getSourceRegion, getSourceXSubsampling, getSourceYSubsampling, getSubsamplingXOffset, getSubsamplingYOffset, hasController, setController, setDestinationOffset, setDestinationType, setSourceBands, setSourceRegion, setSourceSubsampling
public JPEGImageWriteParam(Locale locale)
JPEGImageWriteParam
. Мозаичное размещение не поддерживается. Прогрессивное кодирование поддерживается. Прогрессивный режим по умолчанию является MODE_DISABLED. Поддерживается единственная форма сжатия, названного "JPEG". Качество сжатия по умолчанию 0.75.locale
- a Locale
использоваться суперклассом, чтобы локализовать имена типов сжатия и качественные описания, или null
.public void unsetCompression()
Реализация по умолчанию сбрасывает качество сжатия к 0.75F
.
unsetCompression
в классе ImageWriteParam
IllegalStateException
- если режим сжатия не MODE_EXPLICIT
.ImageWriteParam.setCompressionType(java.lang.String)
, ImageWriteParam.setCompressionQuality(float)
public boolean isCompressionLossless()
false
так как плагин JPEG только поддерживает сжатие с потерями.isCompressionLossless
в классе ImageWriteParam
false
.IllegalStateException
- если режим сжатия не MODE_EXPLICIT
.public String[] getCompressionQualityDescriptions()
ImageWriteParam
String
s, который может использоваться наряду с getCompressionQualityValues
как часть пользовательского интерфейса для установки или отображения уровня качества сжатия. String
с индексом i
обеспечивает описание диапазона уровней качества между getCompressionQualityValues[i]
и getCompressionQualityValues[i + 1]
. Отметьте что длина массива, возвращенного из getCompressionQualityValues
всегда будет одно большее чем это, возвратился из getCompressionQualityDescriptions
. Как пример, "Хорошие" строки, "Лучше", и "Лучше всего" мог быть связан с диапазонами [0, .33)
, [.33, .66)
, и [.66, 1.0]
. В этом случае, getCompressionQualityDescriptions
возвратился бы { "Good", "Better", "Best" }
и getCompressionQualityValues
возвратился бы { 0.0F, .33F, .66F, 1.0F }
.
Если никакие описания не доступны, null
возвращается. Если null
возвращается из getCompressionQualityValues
, этот метод должен также возвратиться null
.
Описания должны быть локализованы для Locale
возвращенный getLocale
, если это не -null
.
Если есть многократные типы сжатия, но ни один не был установлен, IllegalStateException
бросается.
Реализация по умолчанию проверяет, что сжатие поддерживается и что режим сжатия MODE_EXPLICIT
. Если так, если getCompressionTypes()
null
или getCompressionType()
не -null
, это возвращается null
.
getCompressionQualityDescriptions
в классе ImageWriteParam
String
s содержащий локализованные описания уровней качества сжатия.ImageWriteParam.getCompressionQualityValues()
public float[] getCompressionQualityValues()
ImageWriteParam
float
s, который может использоваться наряду с getCompressionQualityDescriptions
как часть пользовательского интерфейса для установки или отображения уровня качества сжатия. См. getCompressionQualityDescriptions
для получения дополнительной информации. Если никакие описания не доступны, null
возвращается. Если null
возвращается из getCompressionQualityDescriptions
, этот метод должен также возвратиться null
.
Если есть многократные типы сжатия, но ни один не был установлен, IllegalStateException
бросается.
Реализация по умолчанию проверяет, что сжатие поддерживается и что режим сжатия MODE_EXPLICIT
. Если так, если getCompressionTypes()
null
или getCompressionType()
не -null
, это возвращается null
.
getCompressionQualityValues
в классе ImageWriteParam
float
s указание на границы между уровнями качества сжатия как описано String
s от getCompressionQualityDescriptions
.ImageWriteParam.getCompressionQualityDescriptions()
public boolean areTablesSet()
true
если на столы в настоящий момент накрывают.true
если таблицы присутствуют.public void setEncodeTables(JPEGQTable[] qTables, JPEGHuffmanTable[] DCHuffmanTables, JPEGHuffmanTable[] ACHuffmanTables)
null
. У двух массивов таблиц Хафмана должно быть то же самое число элементов. Табличные спецификаторы во фрейме и заголовки сканирования в метаданных, как предполагается, эквивалентны индексам в эти массивы. Массивы параметра копируются этим методом.qTables
- Массив табличных объектов квантования.DCHuffmanTables
- Массив табличных объектов Хафмана.ACHuffmanTables
- Массив табличных объектов Хафмана.IllegalArgumentException
- если какой-либо из параметров null
или имеет больше чем 4 элемента, или если числа DC и таблиц AC отличаются.unsetEncodeTables()
public void unsetEncodeTables()
public JPEGQTable[] getQTables()
setEncodeTables
, или null
если на столы в настоящий момент не накрывают.JPEGQTable
объекты, или null
.setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public JPEGHuffmanTable[] getDCHuffmanTables()
setEncodeTables
, или null
если на столы в настоящий момент не накрывают.JPEGHuffmanTable
объекты, или null
.setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public JPEGHuffmanTable[] getACHuffmanTables()
setEncodeTables
, или null
если на столы в настоящий момент не накрывают.JPEGHuffmanTable
объекты, или null
.setEncodeTables(javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[])
public void setOptimizeHuffmanTables(boolean optimize)
false
. Если этот флаг устанавливается в true
, это переопределяет любые таблицы, определенные в метаданных. Отметьте, что это означает что любое изображение, записанное с этим набором флага true
будет всегда содержать таблицы Хафмана.optimize
- Булевская переменная, указывающая, генерировать ли оптимизированные таблицы Хафмана при записи.getOptimizeHuffmanTables()
public boolean getOptimizeHuffmanTables()
setOptimizeHuffmanTables
, или false
если setOptimizeHuffmanTables
никогда не вызывался.true
если писатель генерирует, оптимизировал таблицы Хафмана.setOptimizeHuffmanTables(boolean)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.