Класс ConvolveOp
- java.lang.Object
-
- java.awt.image.ConvolveOp
- Все реализованные интерфейсы:
- BufferedImageOp, RasterOp
public class ConvolveOp extends Object implements BufferedImageOp, RasterOp
Этот класс реализует свёртку от источника к назначению. Свёртка с использованием свёртки ядра — это пространственная операция, которая вычисляет выходной пиксель из входного пикселя путём умножения ядра на окружение входного пикселя. Это позволяет выходному пикселю быть затронутым ближайшим окружением таким образом, который может быть математически задан с помощью ядра.
Этот класс работает с данными BufferedImage, в которых цветовые компоненты предварительно умножены на альфа-компонент. Если исходный BufferedImage имеет альфа-компонент, и цветовые компоненты не предварительно умножены на альфа-компонент, то данные предварительно умножаются перед свёрткой. Если у назначения есть цветовые компоненты, которые не предварительно умножены, то альфа делится перед записью в назначение (если альфа равна 0, цветовые компоненты устанавливаются в 0). Если у назначения нет альфа-компонента, то результирующая альфа отбрасывается после того, как она сначала делится на цветовые компоненты.
Растры обрабатываются как не имеющие альфа-канала. Если вышеуказанное обращение с альфа-каналом в BufferedImages нежелательно, этого можно избежать, получив Raster из исходного BufferedImage и используя метод фильтрации этого класса, который работает с Растрами.
Если в конструкторе задан объект RenderingHints, цветовая подсказка рендеринга и подсказка дithering могут использоваться при необходимости преобразования цвета.
Обратите внимание, что Источник и Назначение не могут быть одним и тем же объектом.
- См. также:
-
Kernel,RenderingHints.KEY_COLOR_RENDERING,RenderingHints.KEY_DITHERING
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static int |
EDGE_NO_OP Пиксели на краю исходного изображения копируются в соответствующие пиксели в результате без модификации. |
static int |
EDGE_ZERO_FILL Пиксели на краю изображения назначения устанавливаются в ноль. |
Конструкторы
| Конструктор и описание |
|---|
ConvolveOp(Kernel kernel) Создаёт ConvolveOp, заданный ядром. |
ConvolveOp(Kernel kernel,
int edgeCondition,
RenderingHints hints) Создаёт ConvolveOp, заданный ядром, условием края и объектом RenderingHints (который может быть null). |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src,
ColorModel destCM) Создаёт изображение назначения с нулевыми значениями, имеющее правильный размер и количество каналов. |
WritableRaster |
createCompatibleDestRaster(Raster src) Создаёт растр назначения с нулевыми значениями, имеющий правильный размер и количество каналов, заданный этим источником. |
BufferedImage |
filter(BufferedImage src,
BufferedImage dst) Выполняет свёртку над BufferedImages. |
WritableRaster |
filter(Raster src,
WritableRaster dst) Выполняет свёртку над Растрами. |
Rectangle2D |
getBounds2D(BufferedImage src) Возвращает область ограничивающей рамки отфильтрованного изображения назначения. |
Rectangle2D |
getBounds2D(Raster src) Возвращает область ограничивающей рамки отфильтрованного растра назначения. |
int |
getEdgeCondition() Возвращает условие края. |
Kernel |
getKernel() Возвращает ядро. |
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt) Возвращает расположение точки назначения, заданной точкой в источнике. |
RenderingHints |
getRenderingHints() Возвращает подсказки рендеринга для этой операции. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
EDGE_ZERO_FILL
@Native public static final int EDGE_ZERO_FILL
Пиксели по краям изображения назначения устанавливаются в ноль. Это значение по умолчанию.
- См. также:
- Значения постоянных полей
EDGE_NO_OP
@Native public static final int EDGE_NO_OP
Пиксели по краям исходного изображения копируются в соответствующие пиксели назначения без изменений.
- См. также:
- Значения постоянных полей
Конструкторы
ConvolveOp
public ConvolveOp(Kernel kernel,
int edgeCondition,
RenderingHints hints) Создаёт ConvolveOp, используя ядро, условие края и объект RenderingHints (который может быть null).
- Параметры:
-
kernel- указанноеKernel -
edgeCondition- указанное условие края -
hints- указанный объектRenderingHints - См. также:
-
Kernel,EDGE_NO_OP,EDGE_ZERO_FILL,RenderingHints
ConvolveOp
public ConvolveOp(Kernel kernel)
Создаёт ConvolveOp, используя ядро. Условие края будет EDGE_ZERO_FILL.
- Параметры:
-
kernel- указанноеKernel - См. также:
-
Kernel,EDGE_ZERO_FILL
Методы
getEdgeCondition
public int getEdgeCondition()
Возвращает условие края.
- Возвращает:
- условие края этого
ConvolveOp. - См. также:
-
EDGE_NO_OP,EDGE_ZERO_FILL
getKernel
public final Kernel getKernel()
Возвращает ядро.
- Возвращает:
- ядро этого
ConvolveOp.
filter
public final BufferedImage filter(BufferedImage src,
BufferedImage dst) Выполняет свёртку над BufferedImage. Каждый компонент исходного изображения будет подвергнут свёртке (включая альфа-компонент, если она присутствует). Если цветовой профиль исходного изображения отличается от цветового профиля изображения назначения, пиксели будут преобразованы в изображении назначения. Если изображение назначения равно null, будет создано BufferedImage с цветовым профилем исходного изображения. Может быть выброшено исключение IllegalArgumentException, если исходное изображение равно изображению назначения.
- Задано:
-
filterв интерфейсеBufferedImageOp - Параметры:
-
src- исходноеBufferedImageдля фильтрации -
dst- изображение назначенияBufferedImageдля отфильтрованногоsrc - Возвращает:
- отфильтрованное
BufferedImage - Исключение:
-
NullPointerException- еслиsrcравноnull -
IllegalArgumentException- еслиsrcравноdst -
ImagingOpException- еслиsrcне может быть отфильтрован
filter
public final WritableRaster filter(Raster src,
WritableRaster dst) Выполняет свёртку над растрами. Каждый слой исходного растра будет подвергнут свёртке. Исходный и целевой растры должны иметь одинаковое количество слоёв. Если целевой растр равен null, будет создан новый растр. Может быть выброшено исключение IllegalArgumentException, если исходный растр равен целевому растру.
- Задано:
-
filterв интерфейсеRasterOp - Параметры:
-
src- исходныйRasterдля фильтрации -
dst- целевойWritableRasterдля отфильтрованногоsrc - Возвращает:
- отфильтрованный
WritableRaster - Исключение:
-
NullPointerException- еслиsrcравноnull -
ImagingOpException- еслиsrcиdstне имеют одинаковое количество слоёв -
ImagingOpException- еслиsrcне может быть отфильтрован -
IllegalArgumentException- еслиsrcравноdst
createCompatibleDestImage
public BufferedImage createCompatibleDestImage(BufferedImage src,
ColorModel destCM) Создаёт изображение назначения с нулевыми значениями, соответствующего размера и количества слоёв. Если destCM равен null, будет использован соответствующий цветовой профиль.
- Задано:
-
createCompatibleDestImageв интерфейсеBufferedImageOp - Параметры:
-
src- Исходное изображение для операции фильтрации. -
destCM- Цветовой профиль изображения назначения. Может быть null. - Возвращает:
- изображение назначения
BufferedImageсоответствующего размера и количества слоёв.
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
Создаёт нулевой целевой растр с правильным размером и количеством слоёв, заданный этим источником.
- Задано:
-
createCompatibleDestRasterв интерфейсеRasterOp - Параметры:
-
src- исходныйRaster - Возвращает:
- растр
WritableRasterсовместимый сsrc
getBounds2D
public final Rectangle2D getBounds2D(BufferedImage src)
Возвращает область, содержащую отфильтрованное изображение назначения. Поскольку это не геометрическая операция, область не меняется.
- Задано:
-
getBounds2Dв интерфейсеBufferedImageOp - Параметры:
-
src-BufferedImageдля фильтрации - Возвращает:
- Область, представляющая ограничивающую рамку изображения назначения.
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
Возвращает область, содержащую отфильтрованный целевой растр. Поскольку это не геометрическая операция, область не меняется.
- Задано:
-
getBounds2Dв интерфейсеRasterOp - Параметры:
-
src- исходныйRaster - Возвращает:
- область, которая представляет ограничивающую рамку
Rasterрезультата операции фильтрации.
getPoint2D
public final Point2D getPoint2D(Point2D srcPt,
Point2D dstPt) Возвращает координаты точки назначения, заданной точкой в источнике. Если dstPt не равно null, он будет использован для хранения результата. Поскольку это не геометрическая операция, srcPt будет равен dstPt.
- Задано:
-
getPoint2Dв интерфейсеBufferedImageOp - Задано:
-
getPoint2Dв интерфейсеRasterOp - Параметры:
-
srcPt-Point2Dпредставляющая точку в исходном изображении -
dstPt-Point2Dдля хранения результата - Возвращает:
- координаты
Point2Dв изображении назначения, соответствующие заданной точке в исходном изображении.
getRenderingHints
public final RenderingHints getRenderingHints()
Возвращает параметры рендеринга для этого объекта.
- Задано:
-
getRenderingHintsв интерфейсеBufferedImageOp - Задано:
-
getRenderingHintsв интерфейсеRasterOp - Возвращает:
- объект
RenderingHintsдля этогоBufferedImageOp. Возвращает null, если параметры не были установлены.
© 1993, 2020, 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.