Spec-Zone.ru › OpenJDK 24

Класс ConvolveOp

java.lang.Object
java.awt.image.ConvolveOp
Все реализованные интерфейсы:
BufferedImageOp, RasterOp
public class ConvolveOp extends Object implements BufferedImageOp, RasterOp
Этот класс реализует свёртку от источника к получателю. Свёртка с использованием ядра свёртки — это пространственная операция, которая вычисляет выходной пиксель из входного пикселя, умножая ядро на окружение входного пикселя. Это позволяет выходному пикселю быть подверженным влиянию ближайшего окружения таким образом, который может быть математически задан с помощью ядра.

Этот класс работает с данными BufferedImage, в которых цветовые компоненты предварительно умножены на альфа-компонент. Если у исходного BufferedImage есть альфа-компонент, и цветовые компоненты не предварительно умножены на альфа-компонент, то данные предварительно умножаются перед свёрткой. Если у получателя есть цветовые компоненты, которые не предварительно умножены, то альфа делится до хранения в получателе (если альфа равна 0, цветовые компоненты устанавливаются в 0). Если у получателя нет альфа-компонента, то полученная альфа отбрасывается после того, как она сначала разделится на цветовые компоненты.

Растры рассматриваются как не имеющие альфа-канала. Если вышеуказанное обращение с альфа-каналом в BufferedImage нежелательно, этого можно избежать, получив Raster из исходного BufferedImage и используя метод фильтра этого класса, который работает с Растерами.

Если в конструкторе задан объект RenderingHints, то цветовой параметр отрисовки и параметр дithering могут быть использованы при необходимости преобразования цветов.

Обратите внимание, что источник и получатель не могут быть одним и тем же объектом.

См. также:
  • Kernel
  • RenderingHints.KEY_COLOR_RENDERING
  • RenderingHints.KEY_DITHERING

Краткое описание полей

Модификатор и тип Поле Описание
static final int EDGE_NO_OP
Пиксели на краю исходного изображения копируются в соответствующие пиксели в получателе без изменений.
static final 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)
Создаёт нулевой Raster получателя с правильным размером и количеством каналов, исходя из этого источника.
final BufferedImage filter(BufferedImage src, BufferedImage dst)
Выполняет свёртку над BufferedImage.
final WritableRaster filter(Raster src, WritableRaster dst)
Выполняет свёртку над Rasters.
final Rectangle2D getBounds2D(BufferedImage src)
Возвращает область границ отфильтрованного изображения получателя.
final Rectangle2D getBounds2D(Raster src)
Возвращает область границ отфильтрованного Raster получателя.
int getEdgeCondition()
Возвращает условие края.
final Kernel getKernel()
Возвращает ядро.
final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Возвращает местоположение точки получателя, заданной точкой в источнике.
final 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 - заданное ядро
edgeCondition - заданное условие для краёв
hints - заданный объект RenderingHints
См. также:
  • Kernel
  • EDGE_NO_OP
  • EDGE_ZERO_FILL
  • RenderingHints

ConvolveOp

public ConvolveOp(Kernel kernel)
Создаёт ConvolveOp с заданным ядром. Условие для краёв будет EDGE_ZERO_FILL.
Параметры:
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 - исходное изображение для фильтрации
dst - изображение-приёмник для отфильтрованного изображения
Возвращает:
отфильтрованное изображение
Исключение:
NullPointerException - если src равно null
IllegalArgumentException - если src равно dst
ImagingOpException - если src не может быть отфильтровано

filter

public final WritableRaster filter(Raster src, WritableRaster dst)
Производит свёртку над Rasters. Каждый слой исходного Raster будет подвергнут свёртке. Исходный и целевой Raster должны иметь одинаковое количество слоёв. Если целевой Raster равен null, будет создан новый Raster. Может быть выброшено исключение IllegalArgumentException, если исходный Raster совпадает с целевым.
Определено в:
filter в интерфейсе RasterOp
Параметры:
src - исходный Raster для фильтрации
dst - целевой Raster для отфильтрованного Raster
Возвращает:
отфильтрованный Raster
Исключение:
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.
Возвращает:
изображение-приёмник с правильным размером и количеством слоёв.

createCompatibleDestRaster

public WritableRaster createCompatibleDestRaster(Raster src)
Создаёт нулевой Raster-приёмник с правильным размером и количеством слоёв, заданными источником.
Определено в:
createCompatibleDestRaster в интерфейсе RasterOp
Параметры:
src - исходный Raster
Возвращает:
Raster, совместимый с src

getBounds2D

public final Rectangle2D getBounds2D(BufferedImage src)
Возвращает область ограничительной рамки отфильтрованного изображения-приёмника. Поскольку это не геометрическая операция, область ограничительной рамки не меняется.
Определено в:
getBounds2D в интерфейсе BufferedImageOp
Параметры:
src - Исходное изображение для фильтрации
Возвращает:
Область ограничительной рамки, представляющая область ограничительной рамки изображения-приёмника.

getBounds2D

public final Rectangle2D getBounds2D(Raster src)
Возвращает область ограничительной рамки отфильтрованного Raster-приёмника. Поскольку это не геометрическая операция, область ограничительной рамки не меняется.
Определено в:
getBounds2D в интерфейсе RasterOp
Параметры:
src - исходный Raster
Возвращает:
область ограничительной рамки, представляющую область ограничительной рамки результата операции фильтрации.

getPoint2D

public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Возвращает местоположение точки-приёмника, заданной точкой-источником. Если dstPt не null, он будет использован для хранения возвращаемого значения. Поскольку это не геометрическая операция, srcPt будет равен dstPt.
Определено в:
getPoint2D в интерфейсе BufferedImageOp
Определено в:
getPoint2D в интерфейсе RasterOp
Параметры:
srcPt - точка-источник
dstPt - точка-приёмник для хранения результата
Возвращает:
точка-приёмник в изображении-приёмнике, соответствующая заданной точке-источнику.

getRenderingHints

public final RenderingHints getRenderingHints()
Возвращает настройки рендеринга для этой операции.
Определено в:
getRenderingHints в интерфейсе BufferedImageOp
Определено в:
getRenderingHints в интерфейсе RasterOp
Возвращает:
объект настроек рендеринга для этого BufferedImageOp. Возвращает null, если настройки не установлены.

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/image/ConvolveOp.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API