Spec-Zone.ru › OpenJavaFX 8
javafx.scene.image

Класс PixelFormat<T extends Buffer>

java.lang.Object
  • javafx.scene.image.PixelFormat<T>

Прямые известные подклассы:

WritablePixelFormat



public abstract class PixelFormat<T extends Buffer>
extends Object
Объект PixelFormat определяет структуру данных для пикселя заданного формата.

С тех пор:

JavaFX 2.2

  • Краткое описание вложенных классов

    Вложенные классы
    Модификатор и тип Класс и описание
    static class  PixelFormat.Type
    Перечисление, описывающее формат хранения одного пикселя в массиве, управляемом объектом PixelFormat.
  • Краткое описание методов

    Все методыСтатические методыМетоды экземпляровАбстрактные методыКонкретные методы
    Модификатор и тип Метод и описание
    static PixelFormat<ByteBuffer> createByteIndexedInstance(int[] colors)
    Создаёт экземпляр PixelFormat, описывающий расположение пикселей, хранящихся как отдельные байты, представляющие индекс в указанной таблице соответствия непреумноженных цветовых значений в формате INT_ARGB.
    static PixelFormat<ByteBuffer> createByteIndexedPremultipliedInstance(int[] colors)
    Создаёт экземпляр PixelFormat, описывающий расположение пикселей, хранящихся как отдельные байты, представляющие индекс в указанной таблице соответствия преумноженных цветовых значений в формате INT_ARGB_PRE.
    abstract int getArgb(T buf, int x, int y, int scanlineStride)
    Считывает данные пикселя из буфера в указанных координатах и преобразует их в 32-битовое целое число, представляющее цвет в формате INT_ARGB.
    static WritablePixelFormat<ByteBuffer> getByteBgraInstance()
    Возвращает экземпляр WritablePixelFormat, описывающий расположение пикселей, хранящихся в смежных байтах с компонентами непреумноженными, в порядке возрастания индекса: синий, зелёный, красный, альфа.
    static WritablePixelFormat<ByteBuffer> getByteBgraPreInstance()
    Возвращает экземпляр WritablePixelFormat, описывающий расположение пикселей, хранящихся в смежных байтах с компонентами преумноженными, в порядке возрастания индекса: синий, зелёный, красный, альфа.
    static PixelFormat<ByteBuffer> getByteRgbInstance()
    Возвращает экземпляр PixelFormat, описывающий расположение пикселей, хранящихся в смежных байтах с цветовыми компонентами, в порядке возрастания индекса: красный, зелёный, синий.
    static WritablePixelFormat<IntBuffer> getIntArgbInstance()
    Возвращает экземпляр WritablePixelFormat, описывающий расположение пикселей, хранящихся в 32-битовых целых числах с компонентами непреумноженными в порядке следования, от MSb к LSb: альфа, красный, зелёный, синий.
    static WritablePixelFormat<IntBuffer> getIntArgbPreInstance()
    Возвращает экземпляр WritablePixelFormat, описывающий расположение пикселей, хранящихся в 32-битовых целых числах с компонентами преумноженными в порядке следования, от MSb к LSb: альфа, красный, зелёный, синий.
    PixelFormat.Type getType()
    Возвращает перечисление, представляющее формат хранения пикселей, управляемых этим объектом PixelFormat.
    abstract boolean isPremultiplied()
    Возвращает true, если цветовые компоненты, декодированные (или закодированные) этим форматом, предварительно умножены на альфа-компонент для более эффективного вычисления смешивания.
    abstract boolean isWritable()
    Возвращает true, если этот объект PixelFormat может преобразовать информацию о цвете в представление пикселя.
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Подробное описание методов

    • getIntArgbInstance

      public static WritablePixelFormat<IntBuffer> getIntArgbInstance()
      Возвращает экземпляр WritablePixelFormat, описывающий макет пикселя, в котором пиксели хранятся в 32-битных целых числах с непреумноженными компонентами, упорядоченными от MSb к LSb: альфа, красный, зелёный, синий.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int pixel = array[rowstart + x];
       
           int alpha = ((pixel >> 24) & 0xff);
           int red   = ((pixel >> 16) & 0xff);
           int green = ((pixel >>  8) & 0xff);
           int blue  = ((pixel      ) & 0xff);

      Возвращает:

      экземпляр WritabelPixelFormat<IntBuffer>, описывающий указанный формат пикселей

    • getIntArgbPreInstance

      public static WritablePixelFormat<IntBuffer> getIntArgbPreInstance()
      Возвращает экземпляр WritablePixelFormat, описывающий макет пикселя, в котором пиксели хранятся в 32-битных целых числах с преумноженными компонентами, упорядоченными от MSb к LSb: альфа, красный, зелёный, синий.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int pixel = array[rowstart + x];
       
           int alpha = ((pixel >> 24) & 0xff);
           int red   = ((pixel >> 16) & 0xff);
           int green = ((pixel >>  8) & 0xff);
           int blue  = ((pixel      ) & 0xff);

      Возвращает:

      экземпляр WritabelPixelFormat<IntBuffer>, описывающий указанный формат пикселей

    • getByteBgraInstance

      public static WritablePixelFormat<ByteBuffer> getByteBgraInstance()
      Возвращает экземпляр WritablePixelFormat, описывающий макет пикселя, в котором пиксели хранятся в смежных байтах с непреумноженными компонентами, упорядоченными по возрастанию индекса: синий, зелёный, красный, альфа.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int i = rowstart + x * 4;
       
           int blue  = (array[i+0] & 0xff);
           int green = (array[i+1] & 0xff);
           int red   = (array[i+2] & 0xff);
           int alpha = (array[i+3] & 0xff);

      Возвращает:

      экземпляр WritablePixelFormat<ByteBuffer>, описывающий указанный формат пикселей

    • getByteBgraPreInstance

      public static WritablePixelFormat<ByteBuffer> getByteBgraPreInstance()
      Возвращает экземпляр WritablePixelFormat, описывающий макет пикселя, в котором пиксели хранятся в смежных байтах с преумноженными компонентами, упорядоченными по возрастанию индекса: синий, зелёный, красный, альфа.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int i = rowstart + x * 4;
       
           int blue  = (array[i+0] & 0xff);
           int green = (array[i+1] & 0xff);
           int red   = (array[i+2] & 0xff);
           int alpha = (array[i+3] & 0xff);

      Возвращает:

      экземпляр WritablePixelFormat<ByteBuffer>, описывающий указанный формат пикселей

    • getByteRgbInstance

      public static PixelFormat<ByteBuffer> getByteRgbInstance()
      Возвращает экземпляр PixelFormat, описывающий макет пикселя, в котором пиксели хранятся в смежных байтах с цветовыми компонентами, упорядоченными по возрастанию индекса: красный, зелёный, синий.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int i = rowstart + x * 3;
       
           int red   = (array[i+0] & 0xff);
           int green = (array[i+1] & 0xff);
           int blue  = (array[i+2] & 0xff);

      Возвращает:

      экземпляр PixelFormat<ByteBuffer>, описывающий указанный формат пикселей

    • createByteIndexedPremultipliedInstance

      public static PixelFormat<ByteBuffer> createByteIndexedPremultipliedInstance(int[] colors)
      Создаёт экземпляр PixelFormat, описывающий макет пикселя, в котором пиксели хранятся как отдельные байты, представляющие индекс в заданной таблице поиска преумноженных цветовых значений в формате INT_ARGB_PRE.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int pixel = array[rowstart + x] & 0xff;
           int argb  = colors[pixel];
       
           int alpha = ((argb >> 24) & 0xff);
           int red   = ((argb >> 16) & 0xff);
           int green = ((argb >>  8) & 0xff);
           int blue  = ((argb      ) & 0xff);

      Параметры:

      colors - массив int[] 32-битных цветовых значений в формате INT_ARGB_PRE

      Возвращает:

      экземпляр PixelFormat<ByteBuffer>, описывающий указанный формат пикселей со списком указанных преумноженных цветов

    • createByteIndexedInstance

      public static PixelFormat<ByteBuffer> createByteIndexedInstance(int[] colors)
      Создаёт экземпляр PixelFormat, описывающий макет пикселя, в котором пиксели хранятся как отдельные байты, представляющие индекс в заданной таблице поиска непреумноженных цветовых значений в формате INT_ARGB.

      Пиксели в этом формате можно декодировать, используя следующий пример кода:

      int pixel = array[rowstart + x] & 0xff;
           int argb  = colors[pixel];
       
           int alpha = ((argb >> 24) & 0xff);
           int red   = ((argb >> 16) & 0xff);
           int green = ((argb >>  8) & 0xff);
           int blue  = ((argb      ) & 0xff);

      Параметры:

      colors - массив int[] 32-битных цветовых значений в формате INT_ARGB

      Возвращает:

      экземпляр PixelFormat<ByteBuffer>, описывающий указанный формат пикселей со списком указанных непреумноженных цветов

    • getType

      public PixelFormat.Type getType()
      Возвращает перечисление, представляющее формат хранения пикселей, управляемый этим объектом PixelFormat.

      Возвращает:

      перечисление Type пикселей

    • isWritable

      public abstract boolean isWritable()
      Возвращает true, если этот объект PixelFormat может преобразовать цветную информацию в представление пикселя.

      Возвращает:

      true, если этот объект PixelFormat может преобразовать цвета в данные пикселей

    • isPremultiplied

      public abstract boolean isPremultiplied()
      Возвращает true, если цветовые компоненты, декодированные (или закодированные) этим форматом, предварительно умножаются на компонент альфа для более эффективных вычислений смешивания.

      Возвращает:

      true, если управляемые цветовые компоненты предварительно умножены на альфа

    • getArgb

      public abstract int getArgb(T buf,
                                  int x,
                                  int y,
                                  int scanlineStride)
      Читает данные пикселя из буфера по указанным координатам и преобразует их в 32-битное целое представление цвета в формате INT_ARGB. 32-битное целое число будет содержать 4 цветовых компонента в отдельных 8-битовых полях в порядке ARGB от старшего байта к младшему. Буфер должен быть расположен в начале данных пикселей таким образом, чтобы buf.get(0) возвращал информацию о пикселе для пикселя с координатами (0, 0). Параметр scanlineStride определяет расстояние от данных пикселей в начале одной строки до данных пикселей в начале следующей строки на следующей строке с более высоким значением Y. Обычно scanlineStride совпадает с шириной изображения, умноженной на количество элементов данных на пиксель (1 в случае целочисленных и индексированных форматов или 3 или 4 в случае байтовых форматов), но некоторые изображения могут иметь дополнительные заполнители между строками для выравнивания или других целей.

      Цветовые компоненты можно извлечь из возвращаемого целого числа, используя следующий пример кода:

      int alpha = ((retval >> 24) & 0xff);
           int red   = ((retval >> 16) & 0xff);
           int green = ((retval >>  8) & 0xff);
           int blue  = ((retval      ) & 0xff);

      Параметры:

      buf - буфер с данными пикселей

      Возвращает:

      32-битовое значение с цветом пикселя в формате, аналогичном формату пикселя INT_ARGB

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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