SysFn65/ru

From KolibriOS wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Функция 65 - вывести изображение с палитрой в окно.

Параметры:

  • eax = 65 - номер функции
  • ebx = указатель на изображение
  • ecx = [размер по оси x]*65536 + [размер по оси y]
  • edx = [координата по оси x]*65536 + [координата по оси y]
  • esi = число бит на пиксель, должно быть 1, 4, 8, 15, 16, 24 или 32
  • edi = указатель на палитру (2 в степени esi цветов 0x00RRGGBB); игнорируется при esi > 8
  • ebp = байтовое смещение между концом предыдущей строки изображения и началом следующей строки

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

  • функция не возвращает значения

Замечания:

  • Координаты изображения - это координаты верхнего левого угла изображения относительно окна.
  • Размер изображения в байтах есть xsize*ysize.
  • Формат изображения с 1 битом на пиксель: каждый байт изображения, за исключением, быть может, последних байтов строк, содержит информацию о цвете 8 пикселей, старший бит соответствует первому пикселю.
  • Формат изображения с 4 битами на пиксель: каждый байт изображения, за исключением последних байтов строк (если ширина изображения нечётна), содержит информацию о цвете 2 пикселей, старшая тетрада соответствует первому пикселю.
  • Формат изображения с 8 битами на пиксель: каждый байт изображения рассматривается как индекс в палитре.
  • Если изображение использует не все 256 цветов, а меньше, размер палитры может быть меньше 256.
  • Формат изображения с 15 битами на пиксель: цвет каждого пикселя кодируется как (в битовом представлении) 0RRRRRGGGGGBBBBB - по 5 бит на каждый цвет.
  • Формат изображения с 16 битами на пиксель: цвет каждого пикселя кодируется как RRRRRGGGGGGBBBBB (схема 5+6+5).
  • Формат изображения с 24 битами на пиксель: цвет каждого пикселя кодируется тремя байтами - последовательно синяя, зелёная, красная составляющие цвета.
  • Формат изображения с 32 битами на пиксель: аналогично 24, только есть ещё игнорируемый четвёртый байт.
  • Вызов функции 7 эквивалентен вызову этой функции с параметрами esi=24, ebp=0.

Константы для регистров:

eax - SF_PUT_IMAGE_EXT (65)