Класс 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 |
Масштабирует данные пикселей в исходном Raster. |
final Rectangle2D |
getBounds2D |
Возвращает ограничивающую рамку масштабированного целевого изображения. |
final Rectangle2D |
getBounds2D |
Возвращает ограничивающую рамку масштабированного целевого Raster. |
final int |
getNumFactors() |
Возвращает число коэффициентов масштабирования и смещений, используемых в этом RescaleOp. |
final float[] |
getOffsets |
Возвращает смещения в указанном массиве. |
final Point2D |
getPoint2D |
Возвращает координаты целевой точки, заданной точкой в источнике. |
final RenderingHints |
getRenderingHints() |
Возвращает указания по отображению для этой операции. |
final float[] |
getScaleFactors |
Возвращает коэффициенты масштабирования в указанном массиве. |
Подробное описание конструкторов
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/RescaleOp.html