Spec-Zone.ru › OpenJDK 21

Класс 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 - Объект 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 для фильтрации.
Возвращает:
Прямоугольник, ограничивающий изображение результата.
Выбрасывает:
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 для хранения результата.
Возвращает:
Точка в изображении результата, которая соответствует заданной точке в исходном изображении.

getRenderingHints

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

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/BandCombineOp.html

Spec-Zone.ru

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