Класс 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, могут использоваться цветовой параметр рендеринга и параметр дitheringa при необходимости преобразования цвета.
Обратите внимание, что источник и назначение могут не быть одним и тем же объектом.
- См. также:
-
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) | Выполняет свёртку над Rasters. |
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для хранения результата - Возвращает:
- Координаты точки в изображении назначения, соответствующие заданной точке в исходном изображении.
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/ConvolveOp.html