Spec-Zone.ru › OpenJDK 24

Класс 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)
Масштабирует пиксельные данные в исходном Raster.
final Rectangle2D getBounds2D(BufferedImage src)
Возвращает область границ масштабированного целевого изображения.
final Rectangle2D getBounds2D(Raster src)
Возвращает область границ масштабированного целевого Raster.
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 - изображение BufferedImage для фильтрации
dst - назначение для операции фильтрации или null
Возвращает:
отфильтрованное BufferedImage.
Исключения:
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
Возвращает:
отфильтрованный WritableRaster.
Исключения:
IllegalArgumentException - если src и dst не имеют одинакового количества каналов, или если количество коэффициентов масштабирования и смещений в этом RescaleOp не соответствует требованиям, указанным в комментариях к классу, или если исходный и целевой Raster различаются по размеру.

getBounds2D

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

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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/RescaleOp.html

Spec-Zone.ru

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