Difference between revisions of "SysFn65/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
Line 9: Line 9:
 
* 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 = байтовое смещение между концом предыдущей строки изображения и началом следующей строки  
  
 
''Возвращаемое значение:''
 
''Возвращаемое значение:''
Line 27: Line 27:
 
* Формат изображения с 24 битами на пиксель: цвет каждого пикселя кодируется тремя байтами - последовательно синяя, зелёная, красная составляющие цвета.
 
* Формат изображения с 24 битами на пиксель: цвет каждого пикселя кодируется тремя байтами - последовательно синяя, зелёная, красная составляющие цвета.
 
* Формат изображения с 32 битами на пиксель: аналогично 24, только есть ещё игнорируемый четвёртый байт.
 
* Формат изображения с 32 битами на пиксель: аналогично 24, только есть ещё игнорируемый четвёртый байт.
* Вызов функции 7 эквивалентен вызову этой функции с параметрами esi=24, ebp=0.
+
* Вызов [[SysFn07/ru | функции 7]] эквивалентен вызову этой функции с параметрами esi=24, ebp=0.
  
 +
.
 
{{System_functions}}
 
{{System_functions}}
 
[[Category: SysCalls]]
 
[[Category: SysCalls]]

Revision as of 00:06, 21 December 2010

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

.