Spec-Zone.ru › OpenJDK 8

Класс RescaleOp

  • java.lang.Object
    • java.awt.image.RescaleOp
Все реализованные интерфейсы:
BufferedImageOp, RasterOp

public class RescaleOp
extends Object
implements BufferedImageOp, RasterOp

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

Псевдокод операции масштабирования:

for each pixel from Source object {
    for each band/component of the pixel {
        dstElement = (srcElement*scaleFactor) + offset
    }
}

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

Для BufferedImages масштабирование выполняется по цветовым и альфа-компонентам. Количество наборов коэффициентов масштабирования может быть одним, в этом случае одни и те же коэффициенты применяются ко всем цветовым (но не альфа-) компонентам. В противном случае, количество наборов коэффициентов масштабирования может быть равно количеству цветовых компонент источника, в этом случае масштабирование альфа-компоненты (если она присутствует) не выполняется. Если ни один из этих случаев не подходит, количество наборов коэффициентов масштабирования должно быть равно количеству цветовых компонент плюс альфа-компонент, в этом случае масштабируются все цветовые и альфа-компоненты.

Исходные BufferedImages с предварительно умноженными альфа-данными обрабатываются аналогично изображениям без предварительного умножения для целей масштабирования. То есть, масштабирование выполняется по каждому каналу на исходных данных из BufferedImage без учета того, предварительно умножены данные или нет. Если требуется преобразование цвета в целевой ColorModel, состояние предварительного умножения как источника, так и назначения будет учтено на этом шаге.

Изображения с IndexColorModel не могут быть масштабированы.

Если в конструкторе задан объект RenderingHints, при необходимости преобразования цвета могут использоваться подсказки цветового рендеринга и подсказки дithering.

Обратите внимание, что разрешается работа «на месте» (т. е. источник и назначение могут быть одним и тем же объектом).

См. также:
RenderingHints.KEY_COLOR_RENDERING, RenderingHints.KEY_DITHERING

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

Конструктор и описание
RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)

Создаёт новый RescaleOp с требуемыми коэффициентами масштабирования и смещениями.

RescaleOp(float scaleFactor, float offset, RenderingHints hints)

Создаёт новый RescaleOp с требуемым коэффициентом масштабирования и смещением.

Методы

Модификатор и тип Метод и описание
BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)

Создаёт пустое целевое изображение с правильным размером и количеством каналов.

WritableRaster createCompatibleDestRaster(Raster src)

Создаёт пустое целевое Raster с правильным размером и количеством каналов, исходя из данного источника.

BufferedImage filter(BufferedImage src, BufferedImage dst)

Масштабирует исходное BufferedImage.

WritableRaster filter(Raster src, WritableRaster dst)

Масштабирует пиксельные данные в исходном растре.

Rectangle2D getBounds2D(BufferedImage src)

Возвращает область обрезки масштабированного целевого изображения.

Rectangle2D getBounds2D(Raster src)

Возвращает область обрезки масштабированного целевого растра.

int getNumFactors()

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

float[] getOffsets(float[] offsets)

Возвращает смещения в заданном массиве.

Point2D getPoint2D(Point2D srcPt, Point2D dstPt)

Возвращает расположение целевой точки, заданной точкой в источнике.

RenderingHints getRenderingHints()

Возвращает подсказки рендеринга для данной операции.

float[] getScaleFactors(float[] scaleFactors)

Возвращает коэффициенты масштабирования в заданном массиве.

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

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

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

RescaleOp

public RescaleOp(float[] scaleFactors,
                 float[] offsets,
                 RenderingHints hints)

Создаёт новый RescaleOp с заданными коэффициентами масштабирования и смещениями. Длина массивов scaleFactor и offset должна соответствовать ограничениям, указанным в комментариях к классу. Аргумент RenderingHints может быть null.

Параметры:
scaleFactors - заданные коэффициенты масштабирования
offsets - заданные смещения
hints - заданные RenderingHints, или null

RescaleOp

public RescaleOp(float scaleFactor,
                 float offset,
                 RenderingHints hints)

Создаёт новый RescaleOp с заданным коэффициентом масштабирования и смещением. Коэффициент масштабирования и смещение будут применяться ко всем каналам в источнике Raster и ко всем цветовым (но не альфа) компонентам в BufferedImage. Аргумент RenderingHints может быть null.

Параметры:
scaleFactor - заданный коэффициент масштабирования
offset - заданное смещение
hints - заданные RenderingHints, или null

Методы

getScaleFactors

public final float[] getScaleFactors(float[] scaleFactors)

Возвращает коэффициенты масштабирования в заданном массиве. Массив также возвращается для удобства. Если scaleFactors равно null, будет выделен новый массив.

Параметры:
scaleFactors - массив, содержащий коэффициенты масштабирования данного RescaleOp
Возвращает:
коэффициенты масштабирования данного RescaleOp.

getOffsets

public final float[] getOffsets(float[] offsets)

Возвращает смещения в заданном массиве. Массив также возвращается для удобства. Если offsets равно null, будет выделен новый массив.

Параметры:
offsets - массив, содержащий смещения данного RescaleOp
Возвращает:
смещения данного RescaleOp.

getNumFactors

public final int getNumFactors()

Возвращает количество коэффициентов масштабирования и смещений, используемых в этом RescaleOp.

Возвращает:
количество коэффициентов масштабирования и смещений данного RescaleOp.

filter

public final BufferedImage filter(BufferedImage src,
                                  BufferedImage dst)

Масштабирует исходное изображение BufferedImage. Если цветовой профиль в исходном изображении отличается от профиля в выходном изображении, пиксели будут преобразованы в выходном. Если выходное изображение равно null, будет создано BufferedImage с исходным цветовым профилем. Может быть выброшено исключение IllegalArgumentException, если количество коэффициентов масштабирования/смещений в этом объекте не соответствует ограничениям, указанным в комментариях к классу, или если исходное изображение имеет IndexColorModel.

Указано в:
filter в интерфейсе BufferedImageOp
Параметры:
src - исходное изображение для фильтрации
dst - выходное изображение для операции фильтрации или null
Возвращает:
отфильтрованное изображение.
Выбрасывает:
IllegalArgumentException - если цветовой профиль src является IndexColorModel, или если количество коэффициентов масштабирования и смещений в данном RescaleOp не соответствует требованиям, описанным в комментариях к классу.

filter

public final WritableRaster filter(Raster src,
                                   WritableRaster dst)

Масштабирует данные пикселей в исходном Raster. Если выходной Raster равен null, будет создан новый Raster. Исходный и выходной Raster должны иметь одинаковое количество каналов. В противном случае, выбрасывается исключение IllegalArgumentException. Обратите внимание, что количество коэффициентов масштабирования/смещений в этом объекте должно соответствовать ограничениям, указанным в комментариях к классу. В противном случае выбрасывается исключение IllegalArgumentException.

Указано в:
filter в интерфейсе RasterOp
Параметры:
src - исходный Raster для фильтрации
dst - выходной Raster для операции фильтрации или null
Возвращает:
отфильтрованный Raster.
Выбрасывает:
IllegalArgumentException - если src и dst не имеют одинаковое количество каналов, или если количество коэффициентов масштабирования и смещений в данном RescaleOp не соответствует требованиям, указанным в комментариях к классу.

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)

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

Указано в:
getBounds2D в интерфейсе BufferedImageOp
Параметры:
src - Исходное изображение для фильтрации
Возвращает:
Объект Rectangle2D, представляющий область ограничивающей рамки выходного изображения.

getBounds2D

public final Rectangle2D getBounds2D(Raster src)

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

Указано в:
getBounds2D в интерфейсе RasterOp
Параметры:
src - масштабированный выходной Raster
Возвращает:
область ограничивающей рамки указанного Raster.

createCompatibleDestImage

public BufferedImage createCompatibleDestImage(BufferedImage src,
                                               ColorModel destCM)

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

Указано в:
createCompatibleDestImage в интерфейсе BufferedImageOp
Параметры:
src - Исходное изображение для операции фильтрации.
destCM - Цветовой профиль выходного изображения. Если null, будет использован цветовой профиль исходного изображения.
Возвращает:
нулевое выходное изображение.

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)

Создаёт нулевой выходной Raster с правильным размером и количеством каналов, заданными этим источником.

Указано в:
createCompatibleDestRaster в интерфейсе RasterOp
Параметры:
src - исходный Raster
Возвращает:
нулевой выходной Raster.

getPoint2D

public final Point2D getPoint2D(Point2D srcPt,
                                Point2D dstPt)

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

Указано в:
getPoint2D в интерфейсе BufferedImageOp
Указано в:
getPoint2D в интерфейсе RasterOp
Параметры:
srcPt - точка в исходном изображении
dstPt - точка в выходном изображении или null
Возвращает:
координаты точки выходного изображения.

getRenderingHints

public final RenderingHints getRenderingHints()

Возвращает параметры визуализации для данного объекта.

Указано в:
getRenderingHints в интерфейсе BufferedImageOp
Указано в:
getRenderingHints в интерфейсе RasterOp
Возвращает:
параметры визуализации данного RescaleOp.

© 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