SysFn65/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Функция 65 - вывести изображение с палитрой в окно.'''
'''Функция 65''' - вывести изображение с палитрой в окно.


''Параметры:''
''Параметры:''


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


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


  * функция не возвращает значения
:* функция не возвращает значения
 
''Замечания:''
''Замечания:''


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

Latest revision as of 12:55, 21 January 2016

Функция 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)