Spec-Zone.ru › OpenJDK 17

Класс 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 масштабирование выполняется по цветовым и альфа-компонентам. Число наборов констант масштабирования может быть одним, в этом случае одни и те же константы применяются ко всем цветовым (но не альфа) компонентам. В противном случае число наборов констант масштабирования может быть равно числу цветовых компонентов исходного изображения, в этом случае масштабирование альфа-компонента (если он присутствует) не выполняется. Если ни одно из этих условий не выполняется, число наборов констант масштабирования должно быть равно числу цветовых и альфа-компонентов, в этом случае масштабируются все цветовые и альфа-компоненты.

Источники BufferedImage с предварительно умноженными альфа-данными обрабатываются так же, как и изображения без предварительного умножения в целях масштабирования. То есть масштабирование выполняется по каждой полосе над исходными данными источника 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 с нулевыми значениями, соответствующего размера и числа полос, исходя из данного источника.
final BufferedImage filter(BufferedImage src, BufferedImage dst)
Масштабирует источник BufferedImage.
final WritableRaster filter(Raster src, WritableRaster dst)
Масштабирует данные пикселей в исходном растре.
final Rectangle2D getBounds2D(BufferedImage src)
Возвращает область рамки масштабированного целевого изображения.
final Rectangle2D getBounds2D(Raster src)
Возвращает область рамки масштабированного целевого растра.
final int getNumFactors()
Возвращает число множителей масштабирования и смещений, используемых в этом RescaleOp.
final float[] getOffsets(float[] offsets)
Возвращает смещения в данном массиве.
final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Возвращает местоположение целевой точки, заданной точкой в источнике.
final RenderingHints getRenderingHints()
Возвращает подсказки рендеринга для данной операции.
final 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 - если цветовой профиль ColorModel src является IndexColorModel, или если количество коэффициентов масштабирования и смещений в этом RescaleOp не соответствует требованиям, указанным в комментариях к классу, или если размеры исходного и целевого изображений отличаются.

filter

public final WritableRaster filter(Raster src, WritableRaster dst)
Масштабирует данные пикселей в исходном Raster. Если Raster назначения равен null, будет создан новый Raster. Исходный и целевой Raster должны иметь одинаковое количество каналов. В противном случае выбрасывается исключение IllegalArgumentException. Обратите внимание, что количество коэффициентов масштабирования/смещений в этом объекте должно соответствовать ограничениям, указанным в комментариях к классу. В противном случае выбрасывается исключение IllegalArgumentException.
Указано в:
filter в интерфейсе RasterOp
Параметры:
src - источник Raster, подлежащий фильтрации
dst - изображение назначения для операции фильтрации или null
Возвращает:
отфильтрованный Raster.
Выбрасывает:
IllegalArgumentException - если src и dst не имеют одинакового количества каналов, или если количество коэффициентов масштабирования и смещений в этом RescaleOp не соответствует требованиям, указанным в комментариях к классу, или если размеры исходного и целевого Raster отличаются.

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
Возвращает прямоугольник, определяющий область масштабированного изображения назначения. Поскольку это не геометрическая операция, прямоугольник не изменяется.
Указано в:
getBounds2D в интерфейсе BufferedImageOp
Параметры:
src - изображение, подлежащее фильтрации
Возвращает:
Прямоугольник, определяющий область масштабированного изображения.

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, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/image/RescaleOp.html

Spec-Zone.ru

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