Класс 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

Spec-Zone .ru
спецификации, руководства, описания, API