Класс 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, при необходимости преобразования цвета могут использоваться подсказка рендеринга цвета и подсказка дизеринга.
Обратите внимание, что допускается обработка на месте (то есть источником и назначением может быть один и тот же объект).
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
RescaleOp |
Создаёт новый RescaleOp с заданными коэффициентами масштабирования и смещениями. |
RescaleOp |
Создаёт новый RescaleOp с заданными коэффициентом масштабирования и смещением. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
BufferedImage |
createCompatibleDestImage |
Создаёт заполненное нулями целевое изображение с правильными размером и количеством полос. |
WritableRaster |
createCompatibleDestRaster |
Создаёт заполненный нулями целевой Raster правильного размера и с правильным количеством полос на основе заданного источника. |
final BufferedImage |
filter |
Масштабирует исходный BufferedImage. |
final WritableRaster |
filter |
Масштабирует пиксельные данные исходного растра. |
final Rectangle2D |
getBounds2D |
Возвращает ограничивающий прямоугольник масштабированного целевого изображения. |
final Rectangle2D |
getBounds2D |
Возвращает ограничивающий прямоугольник масштабированного целевого растра. |
final int |
getNumFactors() |
Возвращает количество коэффициентов масштабирования и смещений, используемых в этом RescaleOp. |
final float[] |
getOffsets |
Возвращает смещения в заданном массиве. |
final Point2D |
getPoint2D |
Возвращает координаты целевой точки, соответствующей точке в источнике. |
final RenderingHints |
getRenderingHints() |
Возвращает подсказки рендеринга для этой операции. |
final float[] |
getScaleFactors |
Возвращает коэффициенты масштабирования в заданном массиве. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Определяет, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
final void |
wait |
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного интервала реального времени. |
Подробное описание конструкторов
RescaleOp
public RescaleOp(float[] scaleFactors, float[] offsets, RenderingHints hints)
- Параметры:
-
scaleFactors— заданные коэффициенты масштабирования -
offsets— заданные смещения -
hints— заданныйRenderingHintsилиnull
RescaleOp
public RescaleOp(float scaleFactor, float offset, RenderingHints hints)
- Параметры:
-
scaleFactor— заданный коэффициент масштабирования -
offset— заданное смещение -
hints— заданныйRenderingHintsилиnull
Подробное описание методов
getScaleFactors
public final float[] getScaleFactors(float[] scaleFactors)
- Параметры:
-
scaleFactors— массив для хранения коэффициентов масштабирования этогоRescaleOp - Возвращает:
- коэффициенты масштабирования этого
RescaleOp.
getOffsets
public final float[] getOffsets(float[] offsets)
- Параметры:
-
offsets— массив для хранения смещений этогоRescaleOp - Возвращает:
- смещения этого
RescaleOp.
getNumFactors
public final int getNumFactors()
- Возвращает:
- количество коэффициентов масштабирования и смещений этого
RescaleOp.
filter
public final BufferedImage filter(BufferedImage src, BufferedImage dst)
- Указано в:
-
filterв интерфейсеBufferedImageOp - Параметры:
-
src—BufferedImage, подлежащий фильтрации -
dst— целевое изображение для операции фильтрации илиnull - Возвращает:
- отфильтрованный
BufferedImage. - Выбрасывает:
-
IllegalArgumentException— еслиColorModelуsrcявляетсяIndexColorModel, если количество коэффициентов масштабирования и смещений в этомRescaleOpне соответствует требованиям, указанным в комментариях к классу, или если исходное и целевое изображения имеют разные размеры.
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
- Указано в:
-
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)
- Указано в:
-
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)
- Указано в:
-
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.