img_expand_getfunc()

Получение указателя на функцию для преобразования из палитрового формата в непосредственный

Прототип:

#include <img.h>
img_expand_f * img_expand_getfunc( img_format_t src,
img_format_t lut );

Аргументы:

src
Исходный формат основан на палитре img_format_t
lut
Прямой формат цедевого изображения img_format_t

Библиотека:

img

Описание:

Функция возвращает указатель на функцию преобразования данных (или NULL если запрошиваемое преобразование не поддерживается), которую можно вызвать для преобразования серии пикселей из формата на основе палитры src в непосредственный формат по таблице трансляции lut.


Caution: Функция преобразования отвечает за трансформацию данных на месте (в том же самом буфере). В противном случае перекрытие буферов src и dst, если они не указывают в точности на одну и ту же область памяти, является не безопасным.

Функция преобразования принимает вид:

void img_expand_f( const uint8 *src,
uint8 *dst,
unsigned n,
const uint8 *lut );

Пример процедуры преобразования из PAL8 в ARGB1555:

  1. Преобразование в целевой формат посредством таблицы преобразования (ARGB1555). Например:

    img_convert_data( IMG_FMT_PKHE_ARGB8888, palette, IMG_FMT_PKLE_ARGB1555, palette, npalette );

  2. Получение указателя на функцию преобразования данных. Например:

    img_expand_getfunc( IMG_FMT_PAL8, IMG_FMT_PKLE_ARGB1555 );

  3. Вызов функции преобразования для всех индексированных данных, которые необходимо сконвертировать. Например:

    expand_f( sptr, dptr, npixels, palette );


Note: Чтобы абстрагироваться от деталей преобразования, используйте img_dtransform_create().

Не все типы преобразований поддержаны в библиотеке. Следующий список операций относится к поддерживаемым:

Возвращаемое значение:

IMG_ERR_OK
Успешное завершение.
IMG_ERR_NOSUPPORT
Один из заданных форматов недействителен.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Библиотека Image

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Тематические ссылки:

img_format_t, img_convert_data(), img_dtransform_create(), IMG_FMT_BPL(), img_lib_attach()




Предыдущий раздел: Image API