Spec-Zone.ru › OpenJDK 24

Класс 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)
Создает BandCombineOp с заданной матрицей.

Краткое описание методов

Модификатор и тип Метод Описание
WritableRaster createCompatibleDestRaster(Raster src)
Создаёт целевое Raster с нулевыми значениями, правильного размера и количества полос.
WritableRaster filter(Raster src, WritableRaster dst)
Преобразует Raster, используя матрицу, заданную в конструкторе.
final Rectangle2D getBounds2D(Raster src)
Возвращает прямоугольник, ограничивающий преобразованное целевое изображение.
final float[][] getMatrix()
Возвращает копию матрицы линейной комбинации.
final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Возвращает координаты соответствующей точки в целевом изображении, заданной точкой в исходном Raster.
final 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 - Объект параметров рендеринга для данной операции. В настоящее время не используется, поэтому может быть 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, 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/BandCombineOp.html

Spec-Zone.ru

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