|
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 с указанным width и height.
|
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, setSamplespublic SinglePixelPackedSampleModel(int dataType,
int w,
int h,
int[] bitMasks)
dataType - Тип данных для того, чтобы сохранить выборки.w - width (в пикселях) области данных изображения описывается.h - height (в пикселях) области данных изображения описывается.bitMasks - Битовые маски для всех полос.IllegalArgumentException - если dataType не также DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INTpublic SinglePixelPackedSampleModel(int dataType,
int w,
int h,
int scanlineStride,
int[] bitMasks)
dataType - Тип данных для того, чтобы сохранить выборки.w - width (в пикселях) области данных изображения описывается.h - height (в пикселях) области данных изображения описывается.scanlineStride - Шаг строки данных изображения.bitMasks - Битовые маски для всех полос.IllegalArgumentException - если w или h не больше чем 0IllegalArgumentException - если любая маска в bitMask не непрерывноIllegalArgumentException - если dataType не также DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, или DataBuffer.TYPE_INTpublic int getNumDataElements()
getNumDataElements в class SampleModelSampleModel.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 в class SampleModelw - width получающегося SampleModelh - height получающегося SampleModelSinglePixelPackedSampleModel с указанным width и height.IllegalArgumentException - если w или h не больше чем 0public DataBuffer createDataBuffer()
createDataBuffer в class SampleModelDataBuffer соответствие этому SampleModel.public int[] getSampleSize()
getSampleSize в class SampleModelpublic int getSampleSize(int band)
getSampleSize в class SampleModelband - указанная полоса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 в class SampleModelbands - подмножество полос этого SampleModelSampleModel с подмножеством полос этого 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 в class SampleModelx - X координат пиксельного расположения.y - Координата Y пиксельного расположения.obj - Если ненуль, примитивный массив, в котором можно возвратить пиксельные данные.data - DataBuffer, содержащий данные изображения.setDataElements(int, int, Object, DataBuffer)public int[] getPixel(int x,
int y,
int[] iArray,
DataBuffer data)
getPixel в class SampleModelx - 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 в class SampleModelx - X координат верхнего левого пиксельного расположения.y - Координата Y верхнего левого пиксельного расположения.w - width пиксельного прямоугольника.h - height пиксельного прямоугольника.iArray - Если ненуль, возвращает выборки в этом массиве.data - DataBuffer, содержащий данные изображения.setPixels(int, int, int, int, int[], DataBuffer)public int getSample(int x,
int y,
int b,
DataBuffer data)
getSample в class SampleModelx - 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 в class SampleModelx - X координат верхнего левого пиксельного расположения.y - Координата Y верхнего левого пиксельного расположения.w - width пиксельного прямоугольника.h - height пиксельного прямоугольника.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 в class SampleModelx - X координат пиксельного расположения.y - Координата Y пиксельного расположения.obj - Примитивный массив, содержащий пиксельные данные.data - DataBuffer, содержащий данные изображения.getDataElements(int, int, Object, DataBuffer)public void setPixel(int x,
int y,
int[] iArray,
DataBuffer data)
setPixel в class SampleModelx - 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 в class SampleModelx - X координат верхнего левого пиксельного расположения.y - Координата Y верхнего левого пиксельного расположения.w - width пиксельного прямоугольника.h - height пиксельного прямоугольника.iArray - Входные выборки в международном массиве.data - DataBuffer, содержащий данные изображения.getPixels(int, int, int, int, int[], DataBuffer)public void setSample(int x,
int y,
int b,
int s,
DataBuffer data)
setSample в class SampleModelx - 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 в class SampleModelx - X координат верхнего левого пиксельного расположения.y - Координата Y верхнего левого пиксельного расположения.w - width пиксельного прямоугольника.h - height пиксельного прямоугольника.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 метод для class Object реализует самое отличительное отношение эквивалентности на объектах; то есть, для любых ненулевых ссылочных значений x и y, этот метод возвраты true если и только если x и y обратитесь к тому же самому объекту (x == y имеет значение true).
Отметьте, что обычно необходимо переопределить hashCode метод всякий раз, когда этот метод переопределяется, чтобы поддержать общий контракт для hashCode метод, который утверждает, что у равных объектов должны быть равные хэш-коды.
equals в class Objecto - ссылочный объект, с которым можно сравниться.true если этот объект является тем же самым как obj параметром; false иначе.Object.hashCode(), HashMappublic int hashCode()
ObjectHashMap. Общий контракт hashCode :
hashCode метод должен последовательно возвращать то же самое целое число, не предоставил информации, используемой в equals сравнения на объекте изменяются. Эта целочисленная потребность не остается непротиворечивой от одного выполнения приложения к другому выполнению того же самого приложения. equals(Object) метод, затем вызывая hashCode метод на каждом из двух объектов должен привести к тому же самому целочисленному результату. Object.equals(java.lang.Object) метод, затем вызывая hashCode метод на каждом из двух объектов должен привести к отличным целочисленным результатам. Однако, программист должен знать, что приведение к отличным целочисленным результатам для неравных объектов может улучшить производительность хэш-таблиц. Столько, сколько разумно практично, метод хэш-кода, определенный class Object действительно возвращает отличные целые числа для отличных объектов. (Это обычно реализуется, преобразовывая внутренний адрес объекта в целое число, но этот метод реализации не требуется языком программирования Java™.)
hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92