Spec-Zone.ru › OpenJDK 25

Класс 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
    }
}
 

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

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

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

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

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

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

См. также:
  • 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)
Возвращает коэффициенты масштабирования в указанном массиве.

Методы, объявленные в классе 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 с заданными коэффициентом масштабирования и смещением. Значения scaleFactor и offset будут применены ко всем полосам исходного 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 с ColorModel исходного изображения. Может быть выброшено 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. Исходный и целевой объекты должны иметь одинаковое число полос. В противном случае выбрасывается IllegalArgumentException. Обратите внимание, что число коэффициентов масштабирования/смещений в этом объекте должно удовлетворять ограничениям, указанным выше в комментариях к классу. В противном случае выбрасывается IllegalArgumentException.
Определено в:
filter в интерфейсе RasterOp
Параметры:
src — Raster, для которого выполняется фильтрация
dst — целевой объект операции фильтрации или null
Возвращает:
отфильтрованный WritableRaster.
Выбрасывает:
IllegalArgumentException — если src и dst имеют разное число полос, число коэффициентов масштабирования и смещений в этом RescaleOp не удовлетворяет требованиям, указанным в комментариях к классу, или исходный и целевой растры имеют разные размеры.

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
Возвращает ограничивающую рамку масштабированного целевого изображения. Поскольку это не геометрическая операция, ограничивающая рамка не изменяется.
Определено в:
getBounds2D в интерфейсе BufferedImageOp
Параметры:
src — BufferedImage, для которого выполняется фильтрация
Возвращает:
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 — ColorModel целевого изображения. Если значение равно null, будет использоваться ColorModel исходного изображения.
Возвращает:
целевое изображение, заполненное нулями.

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.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/RescaleOp.html

Spec-Zone.ru

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