Spec-Zone .ru
спецификации, руководства, описания, API
|
public class SinglePixelPackedSampleModel extends SampleModel
TYPE_BYTE
, TYPE_USHORT
, TYPE_INT
типы данных. Все элементы массива данных находятся в первом банке DataBuffer. Методы средства доступа обеспечиваются так, чтобы данными изображения можно было управлять непосредственно. Шаг растровой строки является числом элементов массива данных между данной выборкой и соответствующей выборкой в том же самом столбце следующей растровой строки. Битовые маски являются масками, требуемыми извлечь выборки, представляющие полосы пикселя. Разрядные смещения являются смещениями в битах в элемент массива данных выборок, представляющих полосы пикселя. Следующий код иллюстрирует извлечение битов демонстрационной полосы представления b
для пикселя x,y
от DataBuffer data
:
int sample = data.getElem(y * scanlineStride + x); sample = (sample & bitMasks[b]) >>> bitOffsets[b];
dataType, height, numBands, width
Конструктор и Описание |
---|
SinglePixelPackedSampleModel(int dataType, int w, int h, int[] bitMasks)
Создает SinglePixelPackedSampleModel с bitMasks.length полосами.
|
SinglePixelPackedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bitMasks)
Создает SinglePixelPackedSampleModel с bitMasks.length полосами и шагом растровой строки, равным scanlineStride элементам массива данных.
|
Модификатор и Тип | Метод и Описание |
---|---|
SampleModel |
createCompatibleSampleModel(int w, int h)
Создает новый SinglePixelPackedSampleModel с указанной шириной и высотой.
|
DataBuffer |
createDataBuffer()
Создает DataBuffer, который соответствует этому SinglePixelPackedSampleModel.
|
SampleModel |
createSubsetSampleModel(int[] bands)
Это создает новый SinglePixelPackedSampleModel с подмножеством полос этого SinglePixelPackedSampleModel.
|
boolean |
equals(Object o)
Указывает, " ли некоторый другой объект равен" этому.
|
int[] |
getBitMasks()
Возвращает битовые маски для всех полос.
|
int[] |
getBitOffsets()
Возвращает разрядные смещения в элемент массива данных, представляющий пиксель для всех полос.
|
Объект |
getDataElements(int x, int y, Object obj, DataBuffer data)
Данные возвратов для единственного пикселя в примитивном массиве типа TransferType.
|
int |
getNumDataElements()
Возвращается число элементов данных должно было передать один пиксель через getDataElements и setDataElements методы.
|
int |
getOffset(int x, int y)
Возвращает смещение (в элементах массива данных) пикселя (x, y).
|
int[] |
getPixel(int x, int y, int[] iArray, DataBuffer data)
Возвраты все выборки в для указанного пикселя в международном массиве.
|
int[] |
getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Возвраты все выборки для указанного прямоугольника пикселей в международном массиве, одна выборка на элемент массива.
|
int |
getSample(int x, int y, int b, DataBuffer data)
Возвраты как интервал выборка в указанной полосе для пикселя, расположенного в (x, y).
|
int[] |
getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Возвращает выборки для указанной полосы для указанного прямоугольника пикселей в международном массиве, одну выборку на элемент массива.
|
int[] |
getSampleSize()
Возвращает число битов на выборку для всех полос.
|
int |
getSampleSize(int band)
Возвращает число битов на выборку для указанной полосы.
|
int |
getScanlineStride()
Возвращает шаг растровой строки этого SinglePixelPackedSampleModel.
|
int |
hashCode()
Возвращает значение хэш-кода для объекта.
|
void |
setDataElements(int x, int y, Object obj, DataBuffer data)
Устанавливает данные для единственного пикселя в указанном DataBuffer от примитивного массива типа TransferType.
|
void |
setPixel(int x, int y, int[] iArray, DataBuffer data)
Устанавливает пиксель в DataBuffer, используя международный массив выборок для ввода.
|
void |
setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Наборы все выборки для прямоугольника пикселей от международного массива, содержащего одну выборку на элемент массива.
|
void |
setSample(int x, int y, int b, int s, DataBuffer data)
Устанавливает выборку в указанной полосе для пикселя, расположенного в (x, y) в DataBuffer, используя интервал для ввода.
|
void |
setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Устанавливает выборки в указанной полосе для указанного прямоугольника пикселей от международного массива, содержащего одну выборку на элемент массива.
|
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSampleDouble, getSampleFloat, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSample, setSample, setSamples, setSamples
public SinglePixelPackedSampleModel(int dataType, int w, int h, int[] bitMasks)
dataType
- Тип данных для того, чтобы сохранить выборки.w
- Ширина (в пикселях) области данных изображения описывается.h
- Высота (в пикселях) области данных изображения описывается.bitMasks
- Битовые маски для всех полос.IllegalArgumentException
- если dataType
не также DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
public SinglePixelPackedSampleModel(int dataType, int w, int h, int scanlineStride, int[] bitMasks)
dataType
- Тип данных для того, чтобы сохранить выборки.w
- Ширина (в пикселях) области данных изображения описывается.h
- Высота (в пикселях) области данных изображения описывается.scanlineStride
- Шаг строки данных изображения.bitMasks
- Битовые маски для всех полос.IllegalArgumentException
- если w
или h
не больше чем 0IllegalArgumentException
- если любая маска в bitMask
не непрерывноIllegalArgumentException
- если dataType
не также DataBuffer.TYPE_BYTE
, DataBuffer.TYPE_USHORT
, или DataBuffer.TYPE_INT
public int getNumDataElements()
getNumDataElements
в классе SampleModel
SampleModel.getDataElements(int, int, Object, DataBuffer)
, SampleModel.getDataElements(int, int, int, int, Object, DataBuffer)
, SampleModel.setDataElements(int, int, Object, DataBuffer)
, SampleModel.setDataElements(int, int, int, int, Object, DataBuffer)
, SampleModel.getTransferType()
public SampleModel createCompatibleSampleModel(int w, int h)
createCompatibleSampleModel
в классе SampleModel
w
- ширина получающегося SampleModel
h
- высота получающегося SampleModel
SinglePixelPackedSampleModel
с указанной шириной и высотой.IllegalArgumentException
- если w
или h
не больше чем 0public DataBuffer createDataBuffer()
createDataBuffer
в классе SampleModel
DataBuffer
соответствие этому SampleModel
.public int[] getSampleSize()
getSampleSize
в классе SampleModel
public int getSampleSize(int band)
getSampleSize
в классе SampleModel
band
- указанная полосаpublic int getOffset(int x, int y)
x,y
может быть получен от DataBuffer data
с SinglePixelPackedSampleModel sppsm
как: data.getElem(sppsm.getOffset(x, y));
x
- X координат указанного пикселяy
- координата Y указанного пикселяpublic int[] getBitOffsets()
public int[] getBitMasks()
public int getScanlineStride()
SinglePixelPackedSampleModel
.public SampleModel createSubsetSampleModel(int[] bands)
createSubsetSampleModel
в классе SampleModel
bands
- подмножество полос этого SampleModel
SampleModel
с подмножеством полос этого SampleModel
.RasterFormatException
- если длина параметра полос больше чем число полос в демонстрационной модели.public Object getDataElements(int x, int y, Object obj, DataBuffer data)
Следующий код иллюстрирует передачу данных для одного пикселя от DataBuffer db1
, чье расположение хранения описывается SinglePixelPackedSampleModel sppsm1
, к DataBuffer db2
, чье расположение хранения описывается SinglePixelPackedSampleModel sppsm2
. Передача обычно будет более эффективной чем использование getPixel/setPixel.
SinglePixelPackedSampleModel sppsm1, sppsm2; DataBufferInt db1, db2; sppsm2.setDataElements(x, y, sppsm1.getDataElements(x, y, null, db1), db2);Используя getDataElements/setDataElements, чтобы передать между двумя парами DataBuffer/SampleModel законно, если у SampleModels есть то же самое число полос, у соответствующих полос есть то же самое число битов на выборку, и TransferTypes являются тем же самым.
Если obj является ненулем, это должен быть примитивный массив типа TransferType. Иначе, ClassCastException бросается. ArrayIndexOutOfBoundsException может быть брошен, если координаты не находятся в границах, или если obj является ненулем и не является достаточно большим, чтобы содержать пиксельные данные.
getDataElements
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.obj
- Если ненуль, примитивный массив, в котором можно возвратить пиксельные данные.data
- DataBuffer, содержащий данные изображения.setDataElements(int, int, Object, DataBuffer)
public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
getPixel
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.iArray
- Если ненуль, возвращает выборки в этом массивеdata
- DataBuffer, содержащий данные изображения.setPixel(int, int, int[], DataBuffer)
public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
getPixels
в классе SampleModel
x
- X координат верхнего левого пиксельного расположения.y
- Координата Y верхнего левого пиксельного расположения.w
- Ширина пиксельного прямоугольника.h
- Высота пиксельного прямоугольника.iArray
- Если ненуль, возвращает выборки в этом массиве.data
- DataBuffer, содержащий данные изображения.setPixels(int, int, int, int, int[], DataBuffer)
public int getSample(int x, int y, int b, DataBuffer data)
getSample
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.b
- Полоса, чтобы возвратиться.data
- DataBuffer, содержащий данные изображения.setSample(int, int, int, int, DataBuffer)
public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
getSamples
в классе SampleModel
x
- X координат верхнего левого пиксельного расположения.y
- Координата Y верхнего левого пиксельного расположения.w
- Ширина пиксельного прямоугольника.h
- Высота пиксельного прямоугольника.b
- Полоса, чтобы возвратиться.iArray
- Если ненуль, возвращает выборки в этом массиве.data
- DataBuffer, содержащий данные изображения.setSamples(int, int, int, int, int, int[], DataBuffer)
public void setDataElements(int x, int y, Object obj, DataBuffer data)
Следующий код иллюстрирует передачу данных для одного пикселя от DataBuffer db1
, чье расположение хранения описывается SinglePixelPackedSampleModel sppsm1
, к DataBuffer db2
, чье расположение хранения описывается SinglePixelPackedSampleModel sppsm2
. Передача обычно будет более эффективной чем использование getPixel/setPixel.
SinglePixelPackedSampleModel sppsm1, sppsm2; DataBufferInt db1, db2; sppsm2.setDataElements(x, y, sppsm1.getDataElements(x, y, null, db1), db2);Используя getDataElements/setDataElements, чтобы передать между двумя парами DataBuffer/SampleModel законно, если у SampleModels есть то же самое число полос, у соответствующих полос есть то же самое число битов на выборку, и TransferTypes являются тем же самым.
obj должен быть примитивным массивом типа TransferType. Иначе, ClassCastException бросается. ArrayIndexOutOfBoundsException может быть брошен, если координаты не находятся в границах, или если obj не является достаточно большим, чтобы содержать пиксельные данные.
setDataElements
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.obj
- Примитивный массив, содержащий пиксельные данные.data
- DataBuffer, содержащий данные изображения.getDataElements(int, int, Object, DataBuffer)
public void setPixel(int x, int y, int[] iArray, DataBuffer data)
setPixel
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.iArray
- Входные выборки в международном массиве.data
- DataBuffer, содержащий данные изображения.getPixel(int, int, int[], DataBuffer)
public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
setPixels
в классе SampleModel
x
- X координат верхнего левого пиксельного расположения.y
- Координата Y верхнего левого пиксельного расположения.w
- Ширина пиксельного прямоугольника.h
- Высота пиксельного прямоугольника.iArray
- Входные выборки в международном массиве.data
- DataBuffer, содержащий данные изображения.getPixels(int, int, int, int, int[], DataBuffer)
public void setSample(int x, int y, int b, int s, DataBuffer data)
setSample
в классе SampleModel
x
- X координат пиксельного расположения.y
- Координата Y пиксельного расположения.b
- Полоса, чтобы установить.s
- Входная выборка как интервал.data
- DataBuffer, содержащий данные изображения.getSample(int, int, int, DataBuffer)
public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
setSamples
в классе SampleModel
x
- X координат верхнего левого пиксельного расположения.y
- Координата Y верхнего левого пиксельного расположения.w
- Ширина пиксельного прямоугольника.h
- Высота пиксельного прямоугольника.b
- Полоса, чтобы установить.iArray
- Входные выборки в международном массиве.data
- DataBuffer, содержащий данные изображения.getSamples(int, int, int, int, int, int[], DataBuffer)
public boolean equals(Object o)
Object
equals
метод реализует отношение эквивалентности на ненулевых ссылках на объект:
x
, x.equals(x)
должен возвратиться true
. x
и y
, x.equals(y)
должен возвратиться true
если и только если y.equals(x)
возвраты true
. x
, y
, и z
, если x.equals(y)
возвраты true
и y.equals(z)
возвраты true
, тогда x.equals(z)
должен возвратиться true
. x
и y
, многократные вызовы x.equals(y)
последовательно возвращайтесь true
или последовательно возвращайтесь false
, предоставленный никакая информация, используемая в equals
сравнения на объектах изменяются. x
, x.equals(null)
должен возвратиться false
. equals
метод для класса Object
реализует самое отличительное отношение эквивалентности на объектах; то есть, для любых ненулевых ссылочных значений x
и y
, этот метод возвраты true
если и только если x
и y
обратитесь к тому же самому объекту (x == y
имеет значение true
).
Отметьте, что обычно необходимо переопределить hashCode
метод всякий раз, когда этот метод переопределяется, чтобы поддержать общий контракт для hashCode
метод, который утверждает, что у равных объектов должны быть равные хэш-коды.
equals
в классе Object
o
- ссылочный объект, с которым можно сравниться.true
если этот объект является тем же самым как obj параметром; false
иначе.Object.hashCode()
, HashMap
public int hashCode()
Object
HashMap
. Общий контракт hashCode
:
hashCode
метод должен последовательно возвращать то же самое целое число, не предоставил информации, используемой в equals
сравнения на объекте изменяются. Эта целочисленная потребность не остается непротиворечивой от одного выполнения приложения к другому выполнению того же самого приложения. equals(Object)
метод, затем вызывая hashCode
метод на каждом из двух объектов должен привести к тому же самому целочисленному результату. Object.equals(java.lang.Object)
метод, затем вызывая hashCode
метод на каждом из двух объектов должен привести к отличным целочисленным результатам. Однако, программист должен знать, что приведение к отличным целочисленным результатам для неравных объектов может улучшить производительность хэш-таблиц. Столько, сколько разумно практично, метод хэш-кода, определенный классом Object
действительно возвращает отличные целые числа для отличных объектов. (Это обычно реализуется, преобразовывая внутренний адрес объекта в целое число, но этот метод реализации не требуется языком программирования JavaTM.)
hashCode
в классе Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.