SysFn65/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
(Created page with ''''Функция 65 - вывести изображение с палитрой в окно.''' Параметры: * eax = 65 - номер функции * ebx = указ...')
 
mNo edit summary
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Функция 65 - вывести изображение с палитрой в окно.'''
'''Функция 65''' - вывести изображение с палитрой в окно.


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

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)