Back to main

 

Function 65 - display the image with the palette in the window

Options:

 eax = 65 - function number

  ebx = pointer to the image

  ecx = [size on axis x]*65536 + [size on axis y]

  edx = [coordinate on axis x]*65536 + [coordinate on axis y]

  esi = number of bits per pixel, should be 1,2,4,8,9,15,16,24 or 32

  edi = pointer to palette (2 to the power esi colors 0x00RRGGBB); ignored when esi > 8

  ebp = offset of each successive row of image data from the previous row

 

Return value: the function does not return a value

 

Comments:

  Image coordinates are the coordinates of the upper left corner of the image relative to the window.

  Image format with 1 bit per pixel: each byte of the image, except perhaps the last bytes of the lines, contains information about the color of 8 pixels, the highest bit corresponds to the first pixel.

  Image format with 2 bits per pixel: each byte of the image, except perhaps the last bytes of the lines, contains information about the color of 4 pixels, the older two bits correspond to the first pixel.

  Image format with 4 bits per pixel: each byte of the image, except the last bytes of the lines (if the width of the image is odd), contains information about the color of 2 pixels, the highest tetrad corresponds to the first pixel.

  Image format with 8 bits per pixel: each byte of the image is treated as an index in the palette.

  Image format with 9 bits per pixel: each byte of the image (8 bits) represents the intensity of gray for a single pixel, so this type of image is identical to 8 bits per pixel without a palette.

  Image format with 15 bits per pixel: the color of each pixel is encoded as (in bit representation) 0RRRRRGGGGGBBB - 5 pixels per color.

  Image format with 16 bits per pixel: the color of each pixel is encoded as RRRRGGGGGGBBBB (scheme 5+6+5).

  Image format with 24 bits per pixel: the color of each pixel is encoded in three bytes - sequentially blue, green, red components of the color.

  Image format with 32 bits per pixel: similar to 24, only there is still an ignored fourth byte.

  Calling function 7 is equivalent to calling this function with parameters esi=24, ebp=0.

 

Constants for registers:

  eax - SF_PUT_IMAGE_EXT (65)