Класс 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.
Обратите внимание, что разрешена работа на месте (т. е. источник и назначение могут быть одним объектом).
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 |
Возвращает множители масштабирования в данном массиве. |
Подробное описание конструкторов
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- изображение, подлежащее фильтрации -
dst- изображение назначения для операции фильтрации илиnull - Возвращает:
- отфильтрованное изображение.
- Выбрасывает:
-
IllegalArgumentException- если цветовой профильColorModelsrcявляетсяIndexColorModel, или если количество коэффициентов масштабирования и смещений в этомRescaleOpне соответствует требованиям, указанным в комментариях к классу, или если размеры исходного и целевого изображений отличаются.
filter
public final WritableRaster filter(Raster src, WritableRaster dst)
- Указано в:
-
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)
- Указано в:
-
getBounds2Dв интерфейсеRasterOp - Параметры:
-
src- масштабированный Raster назначения - Возвращает:
- Прямоугольник, определяющий область указанного Raster.
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
- Указано в:
-
createCompatibleDestImageв интерфейсеBufferedImageOp - Параметры:
-
src- Исходное изображение для операции фильтрации. -
destCM- Цветовой профиль изображения назначения. Если null, используется цветовой профиль исходного изображения. - Возвращает:
- изображение назначения с нулевыми значениями.
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
- Указано в:
-
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, 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