Difference between revisions of "SysFn65/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
 
(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)