Класс BandCombineOp
- java.lang.Object
-
- java.awt.image.BandCombineOp
- Все реализованные интерфейсы:
RasterOp
public class BandCombineOp extends Object implements RasterOp
Этот класс выполняет произвольную линейную комбинацию полос в Raster, используя заданную матрицу.
Ширина матрицы должна быть равна количеству полос в исходном Raster, необязательно плюс одна. Если в матрице на один столбец больше, чем число полос, то подразумевается 1 в конце вектора образцов полос, представляющих пиксель. Высота матрицы должна быть равна количеству полос в целевом изображении.
Например, 3-полосное Raster может иметь следующее преобразование, применяемое к каждому пикселю для инвертирования второй полосы Raster.
[ 1.0 0.0 0.0 0.0 ] [ b1 ]
[ 0.0 -1.0 0.0 255.0 ] x [ b2 ]
[ 0.0 0.0 1.0 0.0 ] [ b3 ]
[ 1 ]
Обратите внимание, что исходное и целевое изображения могут быть одним и тем же объектом.
Конструкторы
| Конструктор | Описание |
|---|---|
BandCombineOp(float[][] matrix,
RenderingHints hints) |
Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
WritableRaster |
createCompatibleDestRaster(Raster src) |
Создаёт нулевое целевое |
WritableRaster |
filter(Raster src,
WritableRaster dst) |
Преобразует |
Rectangle2D |
getBounds2D(Raster src) |
Возвращает ограничивающую рамку преобразованного целевого изображения. |
float[][] |
getMatrix() |
Возвращает копию матрицы линейной комбинации. |
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt) |
Возвращает положение соответствующей точки назначения, заданной точкой в исходном |
RenderingHints |
getRenderingHints() |
Возвращает параметры рендеринга для этой операции. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
BandCombineOp
public BandCombineOp(float[][] matrix,
RenderingHints hints)
Создаёт BandCombineOp с заданной матрицей. Ширина матрицы должна быть равна числу полос в исходном Raster, необязательно плюс одна. Если в матрице на один столбец больше, чем число полос, то подразумевается 1 в конце вектора образцов полос, представляющих пиксель. Высота матрицы должна быть равна числу полос в целевом изображении.
Первый индекс — индекс строки, второй — индекс столбца. Эта операция не использует ни одного из текущих параметров рендеринга; аргумент RenderingHints может быть null.
- Параметры:
-
matrix- Матрица, используемая для операции комбинирования полос. -
hints- ОбъектRenderingHintsдля этой операции. В данный момент не используется, поэтому может быть null.
Методы
getMatrix
public final float[][] getMatrix()
Возвращает копию матрицы линейной комбинации.
- Возвращает:
- Матрица, связанная с этой операцией комбинирования полос.
filter
public WritableRaster filter(Raster src,
WritableRaster dst)
Преобразует Raster, используя матрицу, указанную в конструкторе. Может быть выброшено исключение IllegalArgumentException, если число полос в источнике или назначении несовместимо с матрицей. См. комментарии к классу для получения более подробной информации.
Если назначение равно null, оно будет создано с числом полос, равным числу строк в матрице. Исключение не выбрасывается, если операция приводит к переполнению данных.
- Указано в:
-
filterв интерфейсеRasterOp - Параметры:
-
src-Rasterдля фильтрации. -
dst-Rasterдля хранения результатов операции фильтрации. - Возвращает:
- Отфильтрованное
Raster. - Выбрасывает:
-
IllegalArgumentException- Если число полос в источнике или назначении несовместимо с матрицей.
getBounds2D
public final Rectangle2D getBounds2D(Raster src)
Возвращает ограничивающую рамку преобразованного целевого изображения. Поскольку это не геометрическая операция, ограничивающая рамка одинакова для исходного и целевого изображений. Может быть выброшено исключение IllegalArgumentException, если число полос в исходном изображении несовместимо с матрицей. См. комментарии к классу для более подробной информации.
- Указано в:
-
getBounds2Dв интерфейсеRasterOp - Параметры:
-
src-Rasterдля фильтрации. - Возвращает:
Rectangle2D, представляющий ограничивающую рамку целевого изображения.- Выбрасывает:
-
IllegalArgumentException- Если число полос в исходном изображении несовместимо с матрицей.
createCompatibleDestRaster
public WritableRaster createCompatibleDestRaster(Raster src)
Создаёт нулевое целевое Raster с правильным размером и числом полос. Может быть выброшено исключение IllegalArgumentException, если число полос в исходном изображении несовместимо с матрицей. См. комментарии к классу для более подробной информации.
- Указано в:
-
createCompatibleDestRasterв интерфейсеRasterOp - Параметры:
-
src-Rasterдля фильтрации. - Возвращает:
- Нулевое целевое
Raster.
getPoint2D
public final Point2D getPoint2D(Point2D srcPt,
Point2D dstPt)
Возвращает положение соответствующей точки назначения, заданной точкой в исходном Raster. Если dstPt указан, он используется для хранения возвращаемого значения. Поскольку это не геометрическая операция, возвращаемая точка совпадает со значением указанной srcPt.
- Указано в:
-
getPoint2Dв интерфейсеRasterOp - Параметры:
-
srcPt-Point2D, представляющий точку в исходномRaster. -
dstPt-Point2Dдля хранения результата. - Возвращает:
- Точка
Point2Dв целевом изображении, соответствующая указанной точке в исходном изображении.
getRenderingHints
public final RenderingHints getRenderingHints()
Возвращает параметры рендеринга для этой операции.
- Указано в:
-
getRenderingHintsв интерфейсеRasterOp - Возвращает:
- Объект
RenderingHints, связанный с этой операцией. Возвращает 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/BandCombineOp.html