Spec-Zone.ru › OpenJDK 8

Класс IIOParam

  • java.lang.Object
    • javax.imageio.IIOParam
Прямые известные подклассы:
ImageReadParam, ImageWriteParam

public abstract class IIOParam
extends Object

Базовый класс для всех классов, описывающих, как следует декодировать или кодировать потоки. Этот класс содержит все переменные и методы, общие для ImageReadParam и ImageWriteParam.

Этот класс предоставляет механизмы для указания области источника и области назначения. При чтении источником является поток, а целевым объектом — изображение в памяти. При записи эти роли меняются. В случае записи области назначения могут использоваться только с писателем, поддерживающим замену пикселей.

Децимационное подвыборка может быть задана как для читателей, так и для писателей, используя подвижную сетку подвыборки.

Могут быть выбраны подмножества полос источника и назначения.

Поля

Модификатор и тип Поле и описание
protected IIOParamController controller

Контроллер, который будет использоваться для предоставления настроек для этого объекта IIOParam при вызове метода activateController.

protected IIOParamController defaultController

Значение по умолчанию IIOParamController, которое будет использоваться для предоставления настроек для этого объекта IIOParam при вызове метода activateController.

protected Point destinationOffset

Смещение в области назначения, куда должен быть помещен верхний левый декодированный пиксель.

protected ImageTypeSpecifier destinationType

ImageTypeSpecifier для генерации целевого изображения при чтении или для установки типа цвета вывода при записи.

protected int[] sourceBands

Массив ints, указывающий, какие полосы источника будут использованы, или null.

protected Rectangle sourceRegion

Область источника по умолчанию, если не указана другая.

protected int sourceXSubsampling

Децимационное подвыборка, применяемая в горизонтальном направлении.

protected int sourceYSubsampling

Децимационное подвыборка, применяемое в вертикальном направлении.

protected int subsamplingXOffset

Горизонтальное смещение, применяемое к сетке подвыборки перед подвыборкой.

protected int subsamplingYOffset

Вертикальное смещение, применяемое к сетке подвыборки перед подвыборкой.

Конструкторы

Модификатор Конструктор и описание
protected IIOParam()

Защищённый конструктор может быть вызван только подклассами.

Методы

Модификатор и тип Метод и описание
boolean activateController()

Активирует установленный IIOParamController для данного объекта IIOParam и возвращает результат.

IIOParamController getController()

Возвращает установленный в настоящее время IIOParamController.

IIOParamController getDefaultController()

Возвращает значение по умолчанию IIOParamController, если оно существует, независимо от текущего установленного контроллера.

Point getDestinationOffset()

Возвращает смещение в целевом изображении, в котором будут размещаться пиксели.

ImageTypeSpecifier getDestinationType()

Возвращает тип изображения, которое будет возвращено при чтении, если он был установлен вызовом setDestination(ImageTypeSpecifier), как ImageTypeSpecifier.

int[] getSourceBands()

Возвращает набор полос источника, которые будут использованы.

Rectangle getSourceRegion()

Возвращает область источника, которая будет использоваться.

int getSourceXSubsampling()

Возвращает количество столбцов источника, которые нужно пропустить для каждого пикселя.

int getSourceYSubsampling()

Возвращает количество строк, которые нужно пропустить для каждого пикселя.

int getSubsamplingXOffset()

Возвращает горизонтальное смещение сетки подвыборки.

int getSubsamplingYOffset()

Возвращает вертикальное смещение сетки подвыборки.

boolean hasController()

Возвращает true если для этого объекта IIOParam установлен контроллер.

void setController(IIOParamController controller)

Устанавливает IIOParamController, который будет использоваться для предоставления настроек для этого объекта IIOParam при вызове метода activateController, переопределяя любой контроллер по умолчанию.

void setDestinationOffset(Point destinationOffset)

Устанавливает смещение в целевом изображении, в котором будут размещаться декодированные пиксели при чтении или область, которая будет записана при записи.

void setDestinationType(ImageTypeSpecifier destinationType)

Устанавливает желаемый тип изображения для целевого изображения, используя ImageTypeSpecifier.

void setSourceBands(int[] sourceBands)

Устанавливает индексы полос источника, которые будут использоваться.

void setSourceRegion(Rectangle sourceRegion)

Устанавливает область источника, которая будет использоваться.

void setSourceSubsampling(int sourceXSubsampling, int sourceYSubsampling, int subsamplingXOffset, int subsamplingYOffset)

Указывает децимационное подвыборка, которое следует применить к вводу/выводу.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

sourceRegion

protected Rectangle sourceRegion

Область источника, по null если не задана.

sourceXSubsampling

protected int sourceXSubsampling

Децимационное подвыборочное уменьшение в горизонтальном направлении. По умолчанию значение равно 1. Значение не должно быть отрицательным или равным 0.

sourceYSubsampling

protected int sourceYSubsampling

Децимационное подвыборочное уменьшение в вертикальном направлении. По умолчанию значение равно 1. Значение не должно быть отрицательным или равным 0.

subsamplingXOffset

protected int subsamplingXOffset

Горизонтальное смещение, применяемое к сетке подвыборки перед подвыборкой. Первый используемый пиксель будет смещён на это значение от начала области или изображения, если область не указана.

subsamplingYOffset

protected int subsamplingYOffset

Вертикальное смещение, применяемое к сетке подвыборки перед подвыборкой. Первый используемый пиксель будет смещён на это значение от начала области или изображения, если область не указана.

sourceBands

protected int[] sourceBands

Массив ints, указывающий, какие полосы источника будут использоваться, или null. Если null, набор полос источника, которые будут использоваться, описан в комментарии к методу setSourceBands. Никакое значение не должно быть отрицательным.

destinationType

protected ImageTypeSpecifier destinationType

Тип ImageTypeSpecifier для создания изображения назначения при чтении или для установки типа цвета вывода при записи. Если не задан, значение будет null. По умолчанию значение равно null.

destinationOffset

protected Point destinationOffset

Смещение в изображении назначения, где должен быть размещён верхний левый декодированный пиксель. По умолчанию значение равно (0, 0).

defaultController

protected IIOParamController defaultController

Контроллер по умолчанию IIOParamController, который будет использоваться для предоставления параметров для этого объекта IIOParam при вызове метода activateController. Этот параметр должен устанавливаться подклассами, которые выбирают предоставление собственного контроллера по умолчанию, обычно графического интерфейса, для настройки параметров.

См. также:
IIOParamController, getDefaultController(), activateController()

controller

protected IIOParamController controller

Контроллер IIOParamController, который будет использоваться для предоставления параметров для этого объекта IIOParam при вызове метода activateController. Это значение переопределяет любой контроллер по умолчанию, даже если он равен null.

См. также:
IIOParamController, setController(IIOParamController), hasController(), activateController()

Конструкторы

IIOParam

protected IIOParam()

Защищённый конструктор может вызываться только подклассами.

Методы

setSourceRegion

public void setSourceRegion(Rectangle sourceRegion)

Устанавливает область источника, которая будет обрабатываться. Область определяется как прямоугольник, где верхний левый угол исходного изображения имеет координаты (0, 0), а значения увеличиваются вниз и вправо. Фактическое количество используемых пикселей зависит от коэффициентов подвыборки, установленных setSourceSubsampling. Если подвыборка установлена так, что это количество равно нулю, будет выброшено исключение IllegalStateException.

Область источника, заданная этим методом, будет обрезана по мере необходимости, чтобы поместиться в границы источника, а также в смещения, ширину и высоту назначения на момент фактического ввода/вывода.

Значение null для sourceRegion удалит любое указание на область, что приведет к использованию всего изображения.

Параметры:
sourceRegion - Rectangle , определяющий область источника, или null.
Исключения:
IllegalArgumentException - если sourceRegion не null и либо sourceRegion.x , либо sourceRegion.y отрицательны.
IllegalArgumentException - если sourceRegion не null и либо sourceRegion.width , либо sourceRegion.height отрицательны или равны 0.
IllegalStateException - если подвыборка такова, что эта область будет иметь ширину или высоту подвыборки равную нулю.
См. также:
getSourceRegion(), setSourceSubsampling(int, int, int, int), setDestinationOffset(java.awt.Point), getDestinationOffset()

getSourceRegion

public Rectangle getSourceRegion()

Возвращает область источника для использования. Возвращаемое значение — это то, что было установлено последним вызовом setSourceRegion, и будет null если область не установлена.

Возвращает:
область источника в виде Rectangle, или null.
См. также:
setSourceRegion(java.awt.Rectangle)

setSourceSubsampling

public void setSourceSubsampling(int sourceXSubsampling,
                                 int sourceYSubsampling,
                                 int subsamplingXOffset,
                                 int subsamplingYOffset)

Устанавливает децимационное подвыборочное уменьшение для ввода/вывода. Параметры sourceXSubsampling и sourceYSubsampling задают период подвыборки (т.е., количество строк и столбцов, на которое следует продвинуться после каждого пикселя источника). Например, период 1 использует каждую строку или столбец; период 2 использует каждую вторую строку или столбец. Параметры subsamplingXOffset и subsamplingYOffset задают смещение от начала области (или изображения) для первого подвыборочного пикселя. Настройка начала сетки подвыборки полезна для избежания швов при подвыборке очень большого изображения в области назначения, которые будут собраны в полное подвыборочное изображение. Большинству пользователей достаточно оставить эти параметры равными 0.

Количество пикселей и строк сканирования вычисляется следующим образом.

Количество подвыборочных пикселей в строке равно

truncate[(width - subsamplingXOffset + sourceXSubsampling - 1) / sourceXSubsampling].

Если область такова, что эта ширина равна нулю, будет брошено исключение IllegalStateException.

Количество строк сканирования можно вычислить аналогично.

Возможность установить сетку подвыборки, чтобы она начиналась не с начала области источника, полезна, если область используется для создания подвыборочных тайлов большого изображения, где ширина и высота тайла не являются кратными периодам подвыборки. Если сетка подвыборки не сохраняется от тайла к тайлу, будут артефакты на границах тайлов. Настройка смещения сетки подвыборки для каждого тайла для компенсации позволяет избежать этих артефактов. Компромисс заключается в том, что для избежания этих артефактов размеры тайлов не одинаковы. Смещение сетки в этом случае определяется по формуле:
смещение сетки = [период - (смещение области по модулю периода)] по модулю периода)

Если либо sourceXSubsampling , либо sourceYSubsampling равны 0 или отрицательны, будет брошено исключение IllegalArgumentException.

Если либо subsamplingXOffset , либо subsamplingYOffset отрицательны или больше или равны соответствующему периоду, будет брошено исключение IllegalArgumentException.

Нет метода unsetSourceSubsampling; просто вызовите setSourceSubsampling(1, 1, 0, 0) для восстановления значений по умолчанию.

Параметры:
sourceXSubsampling - количество столбцов, на которое следует продвинуться между пикселями.
sourceYSubsampling - количество строк, на которое следует продвинуться между пикселями.
subsamplingXOffset - горизонтальное смещение первой подвыборки в пределах области или изображения, если область не задана.
subsamplingYOffset - горизонтальное смещение первой подвыборки в пределах области или изображения, если область не задана.
Исключения:
IllegalArgumentException - если любой период отрицателен или равен 0, или если любое смещение сетки отрицательно или больше или равно соответствующему периоду.
IllegalStateException - если область источника такова, что подвыборочный вывод не будет содержать пикселей.

getSourceXSubsampling

public int getSourceXSubsampling()

Возвращает количество столбцов источника, на которое следует продвинуться для каждого пикселя.

Если setSourceSubsampling не вызывался, возвращается 1 (что является правильным значением).

Возвращает:
период подвыборки источника по оси X.
См. также:
setSourceSubsampling(int, int, int, int), getSourceYSubsampling()

getSourceYSubsampling

public int getSourceYSubsampling()

Возвращает количество строк, на которое следует продвинуться для каждого пикселя.

Если setSourceSubsampling не вызывался, возвращается 1 (что является правильным значением).

Возвращает:
период подвыборки источника по оси Y.
См. также:
setSourceSubsampling(int, int, int, int), getSourceXSubsampling()

getSubsamplingXOffset

public int getSubsamplingXOffset()

Возвращает горизонтальное смещение сетки подвыборки.

Если setSourceSubsampling не вызывался, возвращается 0 (что является правильным значением).

Возвращает:
смещение сетки подвыборки по оси X.
См. также:
setSourceSubsampling(int, int, int, int), getSubsamplingYOffset()

getSubsamplingYOffset

public int getSubsamplingYOffset()

Возвращает вертикальное смещение сетки подвыборки.

Если setSourceSubsampling не вызывался, возвращается 0 (что является правильным значением).

Возвращает:
смещение сетки подвыборки по оси Y.
См. также:
setSourceSubsampling(int, int, int, int), getSubsamplingXOffset()

setSourceBands

public void setSourceBands(int[] sourceBands)

Устанавливает индексы используемых исходных полос. Повторяющиеся индексы недопустимы.

Значение null указывает на использование всех исходных полос.

Во время чтения, IllegalArgumentException будет брошен читателем или писателем, если задано значение, большее, чем наибольший доступный индекс исходной полосы, или если количество используемых исходных и целевых полос отличается. Метод ImageReader.checkReadParamBandSettings может использоваться для автоматизации этой проверки.

С точки зрения семантики, создается копия массива; изменения в содержимом массива после этого вызова не влияют на этот IIOParam.

Параметры:
sourceBands - массив целочисленных индексов полос для использования.
Исключения:
IllegalArgumentException - если sourceBands содержит отрицательное или повторяющееся значение.
См. также:
getSourceBands(), ImageReadParam.setDestinationBands(int[]), ImageReader.checkReadParamBandSettings(javax.imageio.ImageReadParam, int, int)

getSourceBands

public int[] getSourceBands()

Возвращает набор используемых исходных полос. Возвращаемое значение — это набор, установленный последним вызовом setSourceBands, или null , если вызовы setSourceBands не производились.

С точки зрения семантики, возвращаемый массив является копией; изменения в содержимом массива после этого вызова не влияют на этот IIOParam.

Возвращает:
набор используемых исходных полос или null.
См. также:
setSourceBands(int[])

setDestinationType

public void setDestinationType(ImageTypeSpecifier destinationType)

Устанавливает желаемый тип изображения для целевого изображения, используя ImageTypeSpecifier.

При чтении, если макет целевого изображения был установлен с помощью этого метода, каждый вызов метода ImageReader read вернет новое BufferedImage с форматом, указанным в предоставленном спецификаторе типа. В качестве побочного эффекта, любой целевой BufferedImage , установленный с помощью ImageReadParam.setDestination(BufferedImage), больше не будет установлен в качестве целевого. Другими словами, этот метод можно рассматривать как вызов setDestination((BufferedImage)null).

При записи, тип целевого изображения может использоваться для определения типа цвета изображения. Информация SampleModel будет проигнорирована и может быть null. Например, 4-полосное изображение может представлять либо данные CMYK, либо RGBA. Если тип целевого изображения задан, его ColorModel переопределит любой ColorModel самого изображения. Это важно, когда используется setSourceBands, так как ColorModel изображения будет ссылаться на всё изображение, а не на подмножество используемых полос.

Параметры:
destinationType - ImageTypeSpecifier , используемый для определения макета и типа цвета целевого изображения.
См. также:
getDestinationType()

getDestinationType

public ImageTypeSpecifier getDestinationType()

Возвращает тип изображения, которое будет возвращено при чтении, если он был установлен вызовом setDestination(ImageTypeSpecifier), как ImageTypeSpecifier. Если не был установлен, возвращается null.

Возвращает:
ImageTypeSpecifier , описывающий тип целевого изображения, или null.
См. также:
setDestinationType(javax.imageio.ImageTypeSpecifier)

setDestinationOffset

public void setDestinationOffset(Point destinationOffset)

Указывает смещение в целевом изображении, в котором будут размещены декодированные пиксели при чтении или область, которая будет записана при записи.

При чтении область, которая будет записана в целевом BufferedImage , начнётся с этого смещения и будет иметь ширину и высоту, определяемые областью интереса источника, параметрами субдискретизации и границами назначения.

Обычные записи не затронуты этим методом, только записи, выполненные с помощью ImageWriter.replacePixels. Для таких записей заданное смещение находится в пределах изображения потока вывода, пиксели которого изменяются.

Нет метода unsetDestinationOffset; просто вызовите setDestinationOffset(new Point(0, 0)), чтобы восстановить значения по умолчанию.

Параметры:
destinationOffset - смещение в целевом изображении, как Point.
Исключения:
IllegalArgumentException - если destinationOffset является null.
См. также:
getDestinationOffset(), ImageWriter.replacePixels(java.awt.image.RenderedImage, javax.imageio.ImageWriteParam)

getDestinationOffset

public Point getDestinationOffset()

Возвращает смещение в целевом изображении, в котором должны быть размещены пиксели.

Если setDestinationOffsets не был вызван, возвращается Point с нулевыми значениями X и Y (что является правильным значением).

Возвращает:
смещение целевого изображения как Point.
См. также:
setDestinationOffset(java.awt.Point)

setController

public void setController(IIOParamController controller)

Устанавливает IIOParamController , который будет использоваться для предоставления настроек для этого объекта IIOParam при вызове метода activateController, переопределяя любой контроллер по умолчанию. Если аргумент null, контроллер не будет использоваться, включая любой по умолчанию. Чтобы восстановить значение по умолчанию, используйте setController(getDefaultController()).

Параметры:
controller - Соответствующий IIOParamController, или null.
См. также:
IIOParamController, getController(), getDefaultController(), hasController(), activateController()

getController

public IIOParamController getController()

Возвращает текущий установленный IIOParamController. Это может быть контроллер по умолчанию, если он есть, null, или аргумент последнего вызова setController.

Возвращает:
текущий установленный IIOParamController, или null.
См. также:
IIOParamController, setController(javax.imageio.IIOParamController), getDefaultController(), hasController(), activateController()

getDefaultController

public IIOParamController getDefaultController()

Возвращает контроллер по умолчанию IIOParamController, если он существует, независимо от установленного в настоящее время контроллера. Если контроллера по умолчанию нет, возвращает null.

Возвращает:
контроллер по умолчанию IIOParamController, или null.
См. также:
IIOParamController, setController(IIOParamController), getController(), hasController(), activateController()

hasController

public boolean hasController()

Возвращает true , если для этого объекта IIOParam установлен контроллер. Возвращает true , если getController не вернёт null.

Возвращает:
true , если контроллер установлен.
См. также:
IIOParamController, setController(IIOParamController), getController(), getDefaultController(), activateController()

activateController

public boolean activateController()

Активирует установленный IIOParamController для этого объекта IIOParam и возвращает результирующее значение. Когда этот метод возвращает true, все значения для этого объекта IIOParam будут готовы для следующей операции чтения или записи. Если возвращается false, никакие настройки в этом объекте не были изменены (т.е., пользователь отменил операцию).

Обычно контроллер представляет собой графический интерфейс, предоставляющий пользовательский интерфейс для подкласса IIOParam для конкретного плагина. Однако контроллеры не обязательно должны быть графическими интерфейсами.

Возвращает:
true , если контроллер завершил работу нормально.
Исключения:
IllegalStateException - если контроллер не установлен.
См. также:
IIOParamController, setController(IIOParamController), getController(), getDefaultController(), hasController()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API