| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147 |
- ޝ¨á ¨¥ ä®à¬ â BMP ¤«ï Window 3.0 (DIB)
- =========================================
- Žá®¢ë¬ ®â«¨ç¨¥¬ ä ©«®¢ ®¢®£® ä®à¬ â (DIB) - Device
- Independent Bitmap ( ¯¯ à â®-¥§ ¢¨á¨¬ë© ¡¨â®¢ë© ®¡à §) ï¥âáï
- â®, çâ® ¢ ¨å ¨á¯®«ì§ã¥âáï ª®¤¨à®¢ª 梥⮢ á ®¤®© ¡¨â®¢®© ¯«®á-
- ª®áâìî.
- ” ©«ë ¡¨â®¢ëå ®¡à §®¢ ®¢®£® ä®à¬ â ç¨ îâáï á® áâàãªâãàë
- BITMAPFILEHEADER:
- typedef struct tagBITMAPFILEHEADER {
- word bfType; //⨯ ä ©« (¤«ï ¡¨â®¢®£® ®¡à § - BM)
- dword bfSize; //à §¬¥à ä ©« ¢ dword
- word bfReserved1; //¥ ¨á¯®«ì§ã¥âáï
- word bfReserved2; //¥ ¨á¯®«ì§ã¥âáï
- dword bfOffbits; //ᬥ饨¥ ¤ ëå ¡¨â®¢®£® ®¡à § ®â
- //§ £®«®¢ª ¢ ¡ ©â å
- }
- �¥¯®á।á⢥® § ¥© à ᯮ« £ ¥âáï áâàãªâãà BITMAPINFO, á®-
- ¤¥à¦ é ï ¢áî ¨ä®à¬ æ¨î ® ¡¨â®¢®¬ ®¡à §¥. Ž ¤¥«¨âáï ¤¢¥ ç á-
- â¨: áâàãªâãàã BITMAPINFOHEADER, ®¯¨áë¢ î饩 à §¬¥àë ¨ 梥⮢®©
- ä®à¬ â ¡¨â®¢®£® ®¡à § , ¨ ¬ áᨢ áâàãªâãà RGBQUAD, ®¯à¥¤¥«ïî饩
- 梥⮢ãî ¯ «¨âàã:
- typedef struct tagBITMAPINFO {
- BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[1];
- }
- typedef struct tagBITMAPINFOHEADER {
- dword biSize; //ç¨á«® ¡ ©â, § ¨¬ ¥¬ëå áâàãªâãன
- //BITMAPINFOHEADER
- dword biWidth; //è¨à¨ ¡¨â®¢®£® ®¡à § ¢ ¯¨ªá¥« å
- dword biHeight; //¢ëá®â ¡¨â®¢®£® ®¡à § ¢ ¯¨ªá¥« å
- word biPlanes; //ç¨á«® ¡¨â®¢ëå ¯«®áª®á⥩ ãáâனáâ¢
- word biBitCount; //ç¨á«® ¡¨â®¢ ¯¨ªá¥«ì
- dword biCompression; //⨯ ᦠâ¨ï
- dword biSizeImage; //à §¬¥à ª à⨪¨ ¢ ¡ ©â å
- dword biXPelsPerMeter;//£®à¨§®â «ì®¥ à §à¥è¥¨¥ ãáâனá⢠,
- //¯¨ªá¥«/¬
- dword biYPelPerMeter; //¢¥à⨪ «ì®¥ à §à¥è¥¨¥ ãáâனá⢠,
- //¯¨ªá¥«/¬
- dword biClrUsed; //ç¨á«® ¨á¯®«ì§ã¥¬ëå æ¢¥â®¢
- dword biClrImportant; //ç¨á«® "¢ ¦ëå" 梥⮢
- } BITMAPINFOHEADER;
- �®«¥¥ ¯®¤à®¡®:
- biSize - ®¡ëç® ¨á¯®«ì§ã¥âáï ¤«ï ®¡«¥£ç¥¨ï ¤®áâ㯠ª â ¡«¨æ¥
- 梥⮢.
- biPlanes - ®¯à¥¤¥«ï¥â ç¨á«® ¡¨â®¢ëå ¯«®áª®á⥩; ®¤ ª®, ¯®-
- ᪮«ìªã 梥⠪®¤¨àã¥âáï ¯®á«¥¤®¢ ⥫ì묨 ¡¨â ¬¨, íâ® ç¨á«® ¢á¥£-
- ¤ à ¢® 1.
- biBitCount - í⨬ ¯®«¥¬ ®¯à¥¤¥«ï¥âáï ç¨á«® 梥⮢, ¨á¯®«ì§ã¥-
- ¬ëå ¡¨â®¢ë¬ ®¡à §®¬. ‚ § ¢¨á¨¬®á⨠®â ᯮᮡ ª®¤¨à®¢ ¨ï, ¬®¦¥â
- ¯à¨¨¬ âì § 票ï:
- 1 - ¡¨â®¢ë© ®¡à § ¬®®å஬ë©, ¨ â ¡«¨æ 梥⮢ ¤®«¦ ᮤ¥à-
- ¦ âì ¤¢ í«¥¬¥â . Š ¦¤ë© ¡¨â ¢ ¬ áᨢ¥ ¤ ëå ª®¤¨àã¥â ®¤¨ ¯¨ª-
- ᥫ. …᫨ § 票¥ ¡¨â - 0, â® ¯¨ªá¥« áâ ®¢¨âáï ¯¥à¢ë¬ 梥⮬
- â ¡«¨æë; ¥á«¨ - 1, ¯¨ªá¥« áâ ®¢¨âáï ¢â®àë¬ æ¢¥â®¬ â ¡«¨æë.
- 4 - ¡¨â®¢ë© ®¡à § ¨¬¥¥â ¬ ªá¨¬ã¬ 16 梥⮢, ¨ ¬ áᨢ bmiColors
- (â ¡«¨æ 梥⮢) ¨¬¥¥â ¤® 16 í«¥¬¥â®¢. –¢¥â ª ¦¤®£® ¯¨ªá¥« ®¯-
- ।¥«ï¥âáï ¯® â ¡«¨æ¥ 梥⮢ ¯à¨ ¯®¬®é¨ ç¥âëà¥å¡¨â®£® ¨¤¥ªá .
- � ¯à¨¬¥à, ¥á«¨ ¯¥à¢ë© ¡ ©â ¤ ëå ¨¬¥¥â § 票¥ 3Ah, â® ¯à¨
- ®â®¡à ¦¥¨¨ ¡¨â®¢®£® ®¡à § 梥⠯¥à¢®£® ¯¨ªá¥« ®¯à¥¤¥«ï¥â ç¥â-
- ¢¥àâë© í«¥¬¥â â ¡«¨æë 梥⮢, 梥⠢â®à®£® - ®¤¨ ¤æ âë©.
- 8 - ¡¨â®¢ë© ®¡à § ¨¬¥¥â ¬ ªá¨¬ã¬ 256 梥⮢, ¨ â ¡«¨æ 梥⮢
- ¨¬¥¥â ¤® 256 í«¥¬¥â®¢. Š ¦¤ë© ¡ ©â ¬ áᨢ ¤ ëå ®¯à¥¤¥«ï¥â
- 梥⠮¤®£® ¯¨ªá¥« .
- 24 - ¡¨â®¢ë© ®¡à § ¨¬¥¥â ¬ ªá¨¬ã¬ 2 ¢ 24-© á⥯¥¨ 梥⮢.
- ’ ¡«¨æ 梥⮢ ¯ãáâ , 梥⠯¨ªá¥«®¢ ®¯à¥¤¥«ï¥âáï ¯ ª¥â ¬¨ ¨§
- âà¥å ¡ ©â®¢, ®¯¨áë¢ î騬¨ æ¢¥â®¢ë¥ ¨â¥á¨¢®á⨠ªà ᮣ®, §¥«¥-
- ®£® ¨ £®«ã¡®£® 梥⮢.
- biCompression - ⨯ ᦠâ¨ï. Œ®¦¥â ¯à¨¨¬ âì § 票ï:
- BI_RGB - ᦠ⨥ ®âáãâáâ¢ã¥â;
- BI_RLE8 - ᦠ⨥ ¤«ï ä®à¬ â 8 ¡¨â ¯¨ªá¥«;
- BI_RLE4 - ᦠ⨥ ¤«ï ä®à¬ â 4 ¡¨â ¯¨ªá¥«.
- biXPelsPerMeter ¨ biYPelsPerMeter - ¬®£ã⠨ᯮ«ì§®¢ âìáï ¤«ï
- ¢ë¡®à ¨§ ᯨ᪠à¥áãàᮢ ¯¨ªâ®£à ¬¬ë, ¨¡®«¥¥ ¯®¤å®¤ï饩 ¤«ï
- ¤ ®£® ãáâனá⢠.
- biClrUsed - ç¨á«® 梥⮢, ¨á¯®«ì§ã¥¬ëå ¤ ë¨ ¡¨â®¢ë¬ ®¡à §®¬.
- …᫨ 0, â® ¨á¯®«ì§ãîâáï ¢á¥ æ¢¥â ¯ «¨âàë (㪠§ ë¥ ¢ ¬ áᨢ¥
- bmiColors).
- biClrImportant - ¨á¯®«ì§ã¥âáï ¤«ï ã¯à ¢«¥¨ï «£®à¨â¬®¬ ®â®¡-
- à ¦¥¨ï 梥⮢. ’ ª, ¥á«¨ ç¥âëà¥ à §«¨çëå ¯à¨«®¦¥¨ï ®â®¡à ¦ îâ
- íªà ¥ ¯® ®¤®¬ã ¡¨â®¢®¬ã ®¡à §ã á 75 梥⠬¨ ª ¦¤ë©, â® ¤ ¯-
- â¥à, ¢ë¢®¤ï騩 256 梥⮢ ®¤®¢à¥¬¥®, ¥ ᬮ¦¥â ¯®«®áâìî ã-
- â¥â¨ç® ®â®¡à §¨âì íªà ¥ ¢á¥ 4 ª à⨪¨. ‚ í⮬ á«ãç ¥ ¨á-
- ¯®«ì§ã¥âáï ¬¥å ¨§¬ § ¬¥ë 梥⮢ - ¨é¥âáï ¡¨â®¢ë© ®¡à § á ¨-
- ¬¥ì訬 ¯à¨®à¨â¥â®¬ ¨ ¥£® "«¨è¨¥" 梥⠧ ¬¥ïîâáï ¨¡®«¥¥ ¯®¤-
- 室ï騬¨.
- typedef struct tagRGBQUAD {
- byte rgbRed; //¨â¥á¨¢®áâì ªà ᮣ®
- byte rgbGreen; //¨â¥á¨¢®áâì §¥«¥®£®
- byte rgbBlue; //¨â¥á¨¢®áâì £®«ã¡®£®
- byte rgbRserved; //¥ ¨á¯®«ì§ã¥âáï
- } RGBQUAD;
- �®á«¥ ⮣®, ª ª ¢á¥ ¯ à ¬¥âàë ¡¨â®¢®£® ®¡à § ®¯à¥¤¥«¥ë, ¢
- ä ©«¥ ¨¤ãâ á ¬¨ ᪠-áâப¨ ¡¨â®¢®© ¯«®áª®áâ¨, ¯à¨ç¥¬ ¯¥à¢®©
- ᪠-áâப®© ¢ ä®à¬ ⥠DIB áç¨â ¥âáï ¨¦ïï ᪠-áâப (â.¥. -
- ç «® ª®®à¤¨ â 室¨âáï ¢ «¥¢®¬ ¨¦¥¬ 㣫㠨§®¡à ¦¥¨ï).
- ‘ª -áâப¨ ¢ë஢¥ë ¯® 32-¡¨â®© £à ¨æ¥ - dword !!!
- Graphics File Formats
- This topic describes the graphics-file formats used by the Microsoft Windows
- operating system. Graphics files include bitmap files, icon-resource files,
- and cursor-resource files.
- Bitmap-File Formats
- Windows bitmap files are stored in a device-independent bitmap (DIB) format
- that allows Windows to display the bitmap on any type of display device. The
- term "device independent" means that the bitmap specifies pixel color in a
- form independent of the method used by a display to represent color. The
- default filename extension of a Windows DIB file is .BMP.
- Bitmap-File Structures
- Each bitmap file contains a bitmap-file header, a bitmap-information header,
- a color table, and an array of bytes that defines the bitmap bits. The file
- has the following form:
- BITMAPFILEHEADER bmfh;
- BITMAPINFOHEADER bmih;
- RGBQUAD aColors[];
- BYTE aBitmapBits[];
- The bitmap-file header contains information about the type, size, and layout
- of a device-independent bitmap file. The header is defined as a
- BITMAPFILEHEADER structure.
- The bitmap-information header, defined as a BITMAPINFOHEADER structure,
- specifies the dimensions, compression type, and color format for the bitmap.
- The color table, defined as an array of RGBQUAD structures, contains as many
- elements as there are colors in the bitmap. The color table is not present
- for bitmaps with 24 color bits because each pixel is represented by 24-bit
- red-green-blue (RGB) values in the actual bitmap data area. The colors in the
- table should appear in order of importance. This helps a display driver
- render a bitmap on a device that cannot display as many colors as there are
- in the bitmap. If the DIB is in Windows version 3.0 or later format, the
- driver can use the biClrImportant member of the BITMAPINFOHEADER structure to
- determine which colors are important.
- The BITMAPINFO structure can be used to represent a combined
- bitmap-information header and color table. The bitmap bits, immediately
- following the color table, consist of an array of BYTE values representing
- consecutive rows, or "scan lines," of the bitmap. Each scan line consists of
- consecutive bytes representing the pixels in the scan line, in left-to-right
- order. The number of bytes representing a scan line depends on the color
- format and the width, in pixels, of the bitmap. If necessary, a scan line
- must be zero-padded to end on a 32-bit boundary. However, segment boundaries
- can appear anywhere in the bitmap. The scan lines in the bitmap are stored
- from bottom up. This means that the first byte in the array represents the
- pixels in the lower-left corner of the bitmap and the last byte represents
- the pixels in the upper-right corner.
- The biBitCount member of the BITMAPINFOHEADER structure determines the number
- of bits that define each pixel and the maximum number of colors in the
- bitmap. These members can have any of the following values:
- Value Meaning
- 1 Bitmap is monochrome and the color table contains two entries. Each
- bit in the bitmap array represents a pixel. If the bit is clear, the pixel is
- displayed with the color of the first entry in the color table. If the bit is
- set, the pixel has the color of the second entry in the table.
- 4 Bitmap has a maximum of 16 colors. Each pixel in the bitmap is
- represented by a 4-bit index into the color table. For example, if the first
- byte in the bitmap is 0x1F, the byte represents two pixels. The first pixel
- contains the color in the second table entry, and the second pixel contains
- the color in the sixteenth table entry.
- 8 Bitmap has a maximum of 256 colors. Each pixel in the bitmap is
- represented by a 1-byte index into the color table. For example, if the first
- byte in the bitmap is 0x1F, the first pixel has the color of the
- thirty-second table entry.
- 24 Bitmap has a maximum of 2^24 colors. The bmiColors (or bmciColors)
- member is NULL, and each 3-byte sequence in the bitmap array represents the
- relative intensities of red, green, and blue, respectively, for a pixel.
- The biClrUsed member of the BITMAPINFOHEADER structure specifies the number
- of color indexes in the color table actually used by the bitmap. If the
- biClrUsed member is set to zero, the bitmap uses the maximum number of colors
- corresponding to the value of the biBitCount member. An alternative form of
- bitmap file uses the BITMAPCOREINFO, BITMAPCOREHEADER, and RGBTRIPLE
- structures.
- Bitmap Compression
- Windows versions 3.0 and later support run-length encoded (RLE) formats for
- compressing bitmaps that use 4 bits per pixel and 8 bits per pixel.
- Compression reduces the disk and memory storage required for a bitmap.
- Compression of 8-Bits-per-Pixel Bitmaps
- When the biCompression member of the BITMAPINFOHEADER structure is set to
- BI_RLE8, the DIB is compressed using a run-length encoded format for a
- 256-color bitmap. This format uses two modes: encoded mode and absolute mode.
- Both modes can occur anywhere throughout a single bitmap.
- Encoded Mode
- A unit of information in encoded mode consists of two bytes. The first byte
- specifies the number of consecutive pixels to be drawn using the color index
- contained in the second byte. The first byte of the pair can be set to zero
- to indicate an escape that denotes the end of a line, the end of the bitmap,
- or a delta. The interpretation of the escape depends on the value of the
- second byte of the pair, which must be in the range 0x00 through 0x02.
- Following are the meanings of the escape values that can be used in the
- second byte:
- Second byte Meaning
- 0 End of line.
- 1 End of bitmap.
- 2 Delta. The two bytes following the escape contain unsigned values
- indicating the horizontal and vertical offsets of the next pixel from the
- current position.
- Absolute Mode
- Absolute mode is signaled by the first byte in the pair being set to zero and
- the second byte to a value between 0x03 and 0xFF. The second byte represents
- the number of bytes that follow, each of which contains the color index of a
- single pixel. Each run must be aligned on a word boundary. Following is an
- example of an 8-bit RLE bitmap (the two-digit hexadecimal values in the
- second column represent a color index for a single pixel):
- Compressed data Expanded data
- 03 04 04 04 04
- 05 06 06 06 06 06 06
- 00 03 45 56 67 00 45 56 67
- 02 78 78 78
- 00 02 05 01 Move 5 right and 1 down
- 02 78 78 78
- 00 00 End of line
- 09 1E 1E 1E 1E 1E 1E 1E 1E 1E 1E
- 00 01 End of RLE bitmap
- Compression of 4-Bits-per-Pixel Bitmaps
- When the biCompression member of the BITMAPINFOHEADER structure is set to
- BI_RLE4, the DIB is compressed using a run-length encoded format for a
- 16-color bitmap. This format uses two modes: encoded mode and absolute mode.
- Encoded Mode
- A unit of information in encoded mode consists of two bytes. The first byte
- of the pair contains the number of pixels to be drawn using the color indexes
- in the second byte.
- The second byte contains two color indexes, one in its high-order nibble
- (that is, its low-order 4 bits) and one in its low-order nibble.
- The first pixel is drawn using the color specified by the high-order nibble,
- the second is drawn using the color in the low-order nibble, the third is
- drawn with the color in the high-order nibble, and so on, until all the
- pixels specified by the first byte have been drawn.
- The first byte of the pair can be set to zero to indicate an escape that
- denotes the end of a line, the end of the bitmap, or a delta. The
- interpretation of the escape depends on the value of the second byte of the
- pair. In encoded mode, the second byte has a value in the range 0x00 through
- 0x02. The meaning of these values is the same as for a DIB with 8 bits per
- pixel.
- Absolute Mode
- In absolute mode, the first byte contains zero, the second byte contains the
- number of color indexes that follow, and subsequent bytes contain color
- indexes in their high- and low-order nibbles, one color index for each pixel.
- Each run must be aligned on a word boundary.
- Following is an example of a 4-bit RLE bitmap (the one-digit hexadecimal
- values in the second column represent a color index for a single pixel):
- Compressed data Expanded data
- 03 04 0 4 0
- 05 06 0 6 0 6 0
- 00 06 45 56 67 00 4 5 5 6 6 7
- 04 78 7 8 7 8
- 00 02 05 01 Move 5 right and 1 down
- 04 78 7 8 7 8
- 00 00 End of line
- 09 1E 1 E 1 E 1 E 1 E 1
- 00 01 End of RLE bitmap
- Bitmap Example
- The following example is a text dump of a 16-color bitmap (4 bits per pixel):
- Win3DIBFile
- BitmapFileHeader
- Type 19778
- Size 3118
- Reserved1 0
- Reserved2 0
- OffsetBits 118
- BitmapInfoHeader
- Size 40
- Width 80
- Height 75
- Planes 1
- BitCount 4
- Compression 0
- SizeImage 3000
- XPelsPerMeter 0
- YPelsPerMeter 0
- ColorsUsed 16
- ColorsImportant 16
- Win3ColorTable
- Blue Green Red Unused
- [00000000] 84 252 84 0
- [00000001] 252 252 84 0
- [00000002] 84 84 252 0
- [00000003] 252 84 252 0
- [00000004] 84 252 252 0
- [00000005] 252 252 252 0
- [00000006] 0 0 0 0
- [00000007] 168 0 0 0
- [00000008] 0 168 0 0
- [00000009] 168 168 0 0
- [0000000A] 0 0 168 0
- [0000000B] 168 0 168 0
- [0000000C] 0 168 168 0
- [0000000D] 168 168 168 0
- [0000000E] 84 84 84 0
- [0000000F] 252 84 84 0
- Image
- .
- . Bitmap data
- .
- Icon-Resource File Format
- An icon-resource file contains image data for icons used by Windows
- applications. The file consists of an icon directory identifying the number
- and types of icon images in the file, plus one or more icon images. The
- default filename extension for an icon-resource file is .ICO.
- Icon Directory
- Each icon-resource file starts with an icon directory. The icon directory,
- defined as an ICONDIR structure, specifies the number of icons in the
- resource and the dimensions and color format of each icon image. The ICONDIR
- structure has the following form:
- typedef struct ICONDIR {
- WORD idReserved;
- WORD idType;
- WORD idCount;
- ICONDIRENTRY idEntries[1];
- } ICONHEADER;
- Following are the members in the ICONDIR structure:
- idReserved Reserved; must be zero.
- idType Specifies the resource type. This member is set to 1.
- idCount Specifies the number of entries in the directory.
- idEntries Specifies an array of ICONDIRENTRY structures containing
- information about individual icons. The idCount member specifies the number
- of structures in the array.
- The ICONDIRENTRY structure specifies the dimensions and color format for an
- icon. The structure has the following form:
- struct IconDirectoryEntry {
- BYTE bWidth;
- BYTE bHeight;
- BYTE bColorCount;
- BYTE bReserved;
- WORD wPlanes;
- WORD wBitCount;
- DWORD dwBytesInRes;
- DWORD dwImageOffset;
- };
- Following are the members in the ICONDIRENTRY structure:
- bWidth Specifies the width of the icon, in pixels. Acceptable values
- are 16, 32, and 64.
- bHeight Specifies the height of the icon, in pixels. Acceptable
- values are 16, 32, and 64.
- bColorCount Specifies the number of colors in the icon. Acceptable values
- are 2, 8, and 16.
- bReserved Reserved; must be zero.
- wPlanes Specifies the number of color planes in the icon bitmap.
- wBitCount Specifies the number of bits in the icon bitmap.
- dwBytesInRes Specifies the size of the resource, in bytes.
- dwImageOffset Specifies the offset, in bytes, from the beginning of the
- file to the icon image.
- Icon Image
- Each icon-resource file contains one icon image for each image identified in
- the icon directory. An icon image consists of an icon-image header, a color
- table, an XOR mask, and an AND mask. The icon image has the following form:
- BITMAPINFOHEADER icHeader;
- RGBQUAD icColors[];
- BYTE icXOR[];
- BYTE icAND[];
- The icon-image header, defined as a BITMAPINFOHEADER structure, specifies the
- dimensions and color format of the icon bitmap. Only the biSize through
- biBitCount members and the biSizeImage member are used. All other members
- (such as biCompression and biClrImportant) must be set to zero.
- The color table, defined as an array of RGBQUAD structures, specifies the
- colors used in the XOR mask. As with the color table in a bitmap file, the
- biBitCount member in the icon-image header determines the number of elements
- in the array. For more information about the color table, see Section 1.1,
- "Bitmap-File Formats."
- The XOR mask, immediately following the color table, is an array of BYTE
- values representing consecutive rows of a bitmap. The bitmap defines the
- basic shape and color of the icon image. As with the bitmap bits in a bitmap
- file, the bitmap data in an icon-resource file is organized in scan lines,
- with each byte representing one or more pixels, as defined by the color
- format. For more information about these bitmap bits, see Section 1.1,
- "Bitmap-File Formats."
- The AND mask, immediately following the XOR mask, is an array of BYTE values,
- representing a monochrome bitmap with the same width and height as the XOR
- mask. The array is organized in scan lines, with each byte representing 8
- pixels.
- When Windows draws an icon, it uses the AND and XOR masks to combine the icon
- image with the pixels already on the display surface. Windows first applies
- the AND mask by using a bitwise AND operation; this preserves or removes
- existing pixel color. Windows then applies the XOR mask by using a bitwise
- XOR operation. This sets the final color for each pixel.
- The following illustration shows the XOR and AND masks that create a
- monochrome icon (measuring 8 pixels by 8 pixels) in the form of an uppercase
- K:
- Windows Icon Selection
- Windows detects the resolution of the current display and matches it against
- the width and height specified for each version of the icon image. If Windows
- determines that there is an exact match between an icon image and the current
- device, it uses the matching image. Otherwise, it selects the closest match
- and stretches the image to the proper size.
- If an icon-resource file contains more than one image for a particular
- resolution, Windows uses the icon image that most closely matches the color
- capabilities of the current display. If no image matches the device
- capabilities exactly, Windows selects the image that has the greatest number
- of colors without exceeding the number of display colors. If all images
- exceed the color capabilities of the current display, Windows uses the icon
- image with the least number of colors.
- Cursor-Resource File Format
- A cursor-resource file contains image data for cursors used by Windows
- applications. The file consists of a cursor directory identifying the number
- and types of cursor images in the file, plus one or more cursor images. The
- default filename extension for a cursor-resource file is .CUR.
- Cursor Directory
- Each cursor-resource file starts with a cursor directory. The cursor
- directory, defined as a CURSORDIR structure, specifies the number of cursors
- in the file and the dimensions and color format of each cursor image. The
- CURSORDIR structure has the following form:
- typedef struct _CURSORDIR {
- WORD cdReserved;
- WORD cdType;
- WORD cdCount;
- CURSORDIRENTRY cdEntries[];
- } CURSORDIR;
- Following are the members in the CURSORDIR structure:
- cdReserved Reserved; must be zero.
- cdType Specifies the resource type. This member must be set to 2.
- cdCount Specifies the number of cursors in the file.
- cdEntries Specifies an array of CURSORDIRENTRY structures containing
- information about individual cursors. The cdCount member specifies the number
- of structures in the array.
- A CURSORDIRENTRY structure specifies the dimensions and color format of a
- cursor image. The structure has the following form:
- typedef struct _CURSORDIRENTRY {
- BYTE bWidth;
- BYTE bHeight;
- BYTE bColorCount;
- BYTE bReserved;
- WORD wXHotspot;
- WORD wYHotspot;
- DWORD lBytesInRes;
- DWORD dwImageOffset;
- } CURSORDIRENTRY;
- Following are the members in the CURSORDIRENTRY structure:
- bWidth Specifies the width of the cursor, in pixels.
- bHeight Specifies the height of the cursor, in pixels.
- bColorCount Reserved; must be zero.
- bReserved Reserved; must be zero.
- wXHotspot Specifies the x-coordinate, in pixels, of the hot spot.
- wYHotspot Specifies the y-coordinate, in pixels, of the hot spot.
- lBytesInRes Specifies the size of the resource, in bytes.
- dwImageOffset Specifies the offset, in bytes, from the start of the file to
- the cursor image.
- Cursor Image
- Each cursor-resource file contains one cursor image for each image identified
- in the cursor directory. A cursor image consists of a cursor-image header, a
- color table, an XOR mask, and an AND mask. The cursor image has the following
- form:
- BITMAPINFOHEADER crHeader;
- RGBQUAD crColors[];
- BYTE crXOR[];
- BYTE crAND[];
- The cursor hot spot is a single pixel in the cursor bitmap that Windows uses
- to track the cursor. The crXHotspot and crYHotspot members specify the x- and
- y-coordinates of the cursor hot spot. These coordinates are 16-bit integers.
- The cursor-image header, defined as a BITMAPINFOHEADER structure, specifies
- the dimensions and color format of the cursor bitmap. Only the biSize through
- biBitCount members and the biSizeImage member are used. The biHeight member
- specifies the combined height of the XOR and AND masks for the cursor. This
- value is twice the height of the XOR mask. The biPlanes and biBitCount
- members must be 1. All other members (such as biCompression and
- biClrImportant) must be set to zero.
- The color table, defined as an array of RGBQUAD structures, specifies the
- colors used in the XOR mask. For a cursor image, the table contains exactly
- two structures, since the biBitCount member in the cursor-image header is
- always 1.
- The XOR mask, immediately following the color table, is an array of BYTE
- values representing consecutive rows of a bitmap. The bitmap defines the
- basic shape and color of the cursor image. As with the bitmap bits in a
- bitmap file, the bitmap data in a cursor-resource file is organized in scan
- lines, with each byte representing one or more pixels, as defined by the
- color format. For more information about these bitmap bits, see Section 1.1,
- "Bitmap-File Formats."
- The AND mask, immediately following the XOR mask, is an array of BYTE values
- representing a monochrome bitmap with the same width and height as the XOR
- mask. The array is organized in scan lines, with each byte representing 8
- pixels.
- When Windows draws a cursor, it uses the AND and XOR masks to combine the
- cursor image with the pixels already on the display surface. Windows first
- applies the AND mask by using a bitwise AND operation; this preserves or
- removes existing pixel color. Window then applies the XOR mask by using a
- bitwise XOR operation. This sets the final color for each pixel.
- The following illustration shows the XOR and the AND masks that create a
- cursor (measuring 8 pixels by 8 pixels) in the form of an arrow:
- Following are the bit-mask values necessary to produce black, white,
- inverted, and transparent results:
- Pixel result AND maskXOR mask
- Black 0 0
- White 0 1
- Transparent 1 0
- Inverted1 1
- Windows Cursor Selection
- If a cursor-resource file contains more than one cursor image, Windows
- determines the best match for a particular display by examining the width and
- height of the cursor images.
- ==============================================================================
- BITMAPFILEHEADER (3.0)
- typedef struct tagBITMAPFILEHEADER { /* bmfh */
- UINT bfType;
- DWORD bfSize;
- UINT bfReserved1;
- UINT bfReserved2;
- DWORD bfOffBits;
- } BITMAPFILEHEADER;
- The BITMAPFILEHEADER structure contains information about the type, size, and
- layout of a device-independent bitmap (DIB) file.
- Member Description
- bfType Specifies the type of file. This member must be BM.
- bfSize Specifies the size of the file, in bytes.
- bfReserved1 Reserved; must be set to zero.
- bfReserved2 Reserved; must be set to zero.
- bfOffBits Specifies the byte offset from the BITMAPFILEHEADER structure
- to the actual bitmap data in the file.
- Comments
- A BITMAPINFO or BITMAPCOREINFO structure immediately follows the
- BITMAPFILEHEADER structure in the DIB file.
- See Also
- BITMAPCOREINFO, BITMAPINFO
- ==============================================================================
- BITMAPINFO (3.0)
- typedef struct tagBITMAPINFO { /* bmi */
- BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[1];
- } BITMAPINFO;
- The BITMAPINFO structure fully defines the dimensions and color information
- for a Windows 3.0 or later device-independent bitmap (DIB).
- Member Description
- bmiHeader Specifies a BITMAPINFOHEADER structure that contains
- information about the dimensions and color format of a DIB.
- bmiColors Specifies an array of RGBQUAD structures that define the
- colors in the bitmap.
- Comments
- A Windows 3.0 or later DIB consists of two distinct parts: a BITMAPINFO
- structure, which describes the dimensions and colors of the bitmap, and an
- array of bytes defining the pixels of the bitmap. The bits in the array are
- packed together, but each scan line must be zero-padded to end on a LONG
- boundary. Segment boundaries, however, can appear anywhere in the bitmap. The
- origin of the bitmap is the lower-left corner.
- The biBitCount member of the BITMAPINFOHEADER structure determines the number
- of bits which define each pixel and the maximum number of colors in the
- bitmap. This member may be set to any of the following values:
- Value Meaning
- 1 The bitmap is monochrome, and the bmciColors member must contain two
- entries. Each bit in the bitmap array represents a pixel. If the bit is
- clear, the pixel is displayed with the color of the first entry in the
- bmciColors table. If the bit is set, the pixel has the color of the second
- entry in the table.
- 4 The bitmap has a maximum of 16 colors, and the bmciColors member
- contains 16 entries. Each pixel in the bitmap is represented by a four-bit
- index into the color table.
- For example, if the first byte in the bitmap is 0x1F, the byte represents two
- pixels. The first pixel contains the color in the second table entry, and the
- second pixel contains the color in the sixteenth table entry.
- 8 The bitmap has a maximum of 256 colors, and the bmciColors member
- contains 256 entries. In this case, each byte in the array represents a
- single pixel.
- 24 The bitmap has a maximum of 2^24 colors. The bmciColors member is
- NULL, and each 3-byte sequence in the bitmap array represents the relative
- intensities of red, green, and blue, respectively, of a pixel.
- The biClrUsed member of the BITMAPINFOHEADER structure specifies the number
- of color indexes in the color table actually used by the bitmap. If the
- biClrUsed member is set to zero, the bitmap uses the maximum number of colors
- corresponding to the value of the biBitCount member.
- The colors in the bmiColors table should appear in order of importance.
- Alternatively, for functions that use DIBs, the bmiColors member can be an
- array of 16-bit unsigned integers that specify an index into the currently
- realized logical palette instead of explicit RGB values. In this case, an
- application using the bitmap must call DIB functions with the wUsage
- parameter set to DIB_PAL_COLORS.
- Note: The bmiColors member should not contain palette indexes if the bitmap
- is to be stored in a file or transferred to another application. Unless the
- application uses the bitmap exclusively and under its complete control, the
- bitmap color table should contain explicit RGB values.
- See Also
- BITMAPINFOHEADER, RGBQUAD
- ==============================================================================
- BITMAPINFOHEADER (3.0)
- typedef struct tagBITMAPINFOHEADER { /* bmih */
- DWORD biSize;
- LONG biWidth;
- LONG biHeight;
- WORD biPlanes;
- WORD biBitCount;
- DWORD biCompression;
- DWORD biSizeImage;
- LONG biXPelsPerMeter;
- LONG biYPelsPerMeter;
- DWORD biClrUsed;
- DWORD biClrImportant;
- } BITMAPINFOHEADER;
- The BITMAPINFOHEADER structure contains information about the dimensions and
- color format of a Windows 3.0 or later device-independent bitmap (DIB).
- Member Description
- biSize Specifies the number of bytes required by the
- BITMAPINFOHEADER structure.
- biWidth Specifies the width of the bitmap, in pixels.
- biHeightSpecifies the height of the bitmap, in pixels.
- biPlanesSpecifies the number of planes for the target device. This
- member must be set to 1.
- biBitCount Specifies the number of bits per pixel. This value must be 1,
- 4, 8, or 24.
- biCompression Specifies the type of compression for a compressed bitmap. It
- can be one of the following values:
- Value Meaning
- BI_RGB Specifies that the bitmap is not compressed.
- BI_RLE8 Specifies a run-length encoded format for bitmaps with 8 bits
- per pixel. The compression format is a 2-byte format consisting of a count
- byte followed by a byte containing a color index. For more information, see
- the following Comments section.
- BI_RLE4 Specifies a run-length encoded format for bitmaps with 4 bits
- per pixel. The compression format is a 2-byte format consisting of a count
- byte followed by two word-length color indexes. For more information, see
- the following Comments section.
- biSizeImage Specifies the size, in bytes, of the image. It is valid to
- set this member to zero if the bitmap is in the BI_RGB format.
- biXPelsPerMeter Specifies the horizontal resolution, in pixels per meter, of
- the target device for the bitmap. An application can use this value to select
- a bitmap from a resource group that best matches the characteristics of the
- current device.
- biYPelsPerMeter Specifies the vertical resolution, in pixels per meter, of
- the target device for the bitmap.
- biClrUsed Specifies the number of color indexes in the color table
- actually used by the bitmap. If this value is zero, the bitmap uses the
- maximum number of colors corresponding to the value of the biBitCount member.
- For more information on the maximum sizes of the color table, see the
- description of the BITMAPINFO structure earlier in this topic.
- If the biClrUsed member is nonzero, it specifies the actual number of colors
- that the graphics engine or device driver will access if the biBitCount
- member is less than 24. If biBitCount is set to 24, biClrUsed specifies the
- size of the reference color table used to optimize performance of Windows
- color palettes. If the bitmap is a packed bitmap (that is, a bitmap in which
- the bitmap array immediately follows the BITMAPINFO header and which is
- referenced by a single pointer), the biClrUsed member must be set to zero or
- to the actual size of the color table.
- biClrImportant Specifies the number of color indexes that are considered
- important for displaying the bitmap. If this value is zero, all colors are
- important.
- Comments
- The BITMAPINFO structure combines the BITMAPINFOHEADER structure and a color
- table to provide a complete definition of the dimensions and colors of a
- Windows 3.0 or later DIB. For more information about specifying a Windows 3.0
- DIB, see the description of the BITMAPINFO structure.
- An application should use the information stored in the biSize member to
- locate the color table in a BITMAPINFO structure as follows:
- pColor = ((LPSTR) pBitmapInfo + (WORD) (pBitmapInfo->bmiHeader.biSize))
- Windows supports formats for compressing bitmaps that define their colors
- with 8 bits per pixel and with 4 bits per pixel. Compression reduces the disk
- and memory storage required for the bitmap. The following paragraphs describe
- these formats.
- BI_RLE8
- When the biCompression member is set to BI_RLE8, the bitmap is compressed
- using a run-length encoding format for an 8-bit bitmap. This format may be
- compressed in either of two modes: encoded and absolute. Both modes can occur
- anywhere throughout a single bitmap.
- Encoded mode consists of two bytes: the first byte specifies the number of
- consecutive pixels to be drawn using the color index contained in the second
- byte. In addition, the first byte of the pair can be set to zero to indicate
- an escape that denotes an end of line, end of bitmap, or a delta. The
- interpretation of the escape depends on the value of the second byte of the
- pair. The following list shows the meaning of the second byte:
- Value Meaning
- 0 End of line.
- 1 End of bitmap.
- 2 Delta. The two bytes following the escape contain unsigned values
- indicating the horizontal and vertical offset of the next pixel from the
- current position.
- Absolute mode is signaled by the first byte set to zero and the second byte
- set to a value between 0x03 and 0xFF. In absolute mode, the second byte
- represents the number of bytes that follow, each of which contains the color
- index of a single pixel. When the second byte is set to 2 or less, the escape
- has the same meaning as in encoded mode. In absolute mode, each run must be
- aligned on a word boundary. The following example shows the hexadecimal
- values of an 8-bit compressed bitmap:
- 03 04 05 06 00 03 45 56 67 00 02 78 00 02 05 01
- 02 78 00 00 09 1E 00 01
- This bitmap would expand as follows (two-digit values represent a color index
- for a single pixel):
- 04 04 04
- 06 06 06 06 06
- 45 56 67
- 78 78
- move current position 5 right and 1 down
- 78 78
- end of line
- 1E 1E 1E 1E 1E 1E 1E 1E 1E
- end of RLE bitmap
- BI_RLE4
- When the biCompression member is set to BI_RLE4, the bitmap is compressed
- using a run-length encoding (RLE) format for a 4-bit bitmap, which also uses
- encoded and absolute modes. In encoded mode, the first byte of the pair
- contains the number of pixels to be drawn using the color indexes in the
- second byte. The second byte contains two color indexes, one in its
- high-order nibble (that is, its low-order four bits) and one in its low-order
- nibble. The first of the pixels is drawn using the color specified by the
- high-order nibble, the second is drawn using the color in the low-order
- nibble, the third is drawn with the color in the high-order nibble, and so
- on, until all the pixels specified by the first byte have been drawn. In
- absolute mode, the first byte contains zero, the second byte contains the
- number of color indexes that follow, and subsequent bytes contain color
- indexes in their high- and low-order nibbles, one color index for each pixel.
- In absolute mode, each run must be aligned on a word boundary. The
- end-of-line, end-of-bitmap, and delta escapes also apply to BI_RLE4.
- The following example shows the hexadecimal values of a 4-bit compressed
- bitmap:
- 03 04 05 06 00 06 45 56 67 00 04 78 00 02 05 01
- 04 78 00 00 09 1E 00 01
- This bitmap would expand as follows (single-digit values represent a color
- index for a single pixel):
- 0 4 0
- 0 6 0 6 0
- 4 5 5 6 6 7
- 7 8 7 8
- move current position 5 right and 1 down
- 7 8 7 8
- end of line
- 1 E 1 E 1 E 1 E 1
- end of RLE bitmap
- See Also
- BITMAPINFO
- ==============================================================================
- RGBQUAD (3.0)
- typedef struct tagRGBQUAD { /* rgbq */
- BYTE rgbBlue;
- BYTE rgbGreen;
- BYTE rgbRed;
- BYTE rgbReserved;
- } RGBQUAD;
- The RGBQUAD structure describes a color consisting of relative intensities of
- red, green, and blue. The bmiColors member of the BITMAPINFO structure
- consists of an array of RGBQUAD structures.
- Member Description
- rgbBlue Specifies the intensity of blue in the color.
- rgbGreenSpecifies the intensity of green in the color.
- rgbRed Specifies the intensity of red in the color.
- rgbReserved Not used; must be set to zero.
- See Also
- BITMAPINFO
- ==============================================================================
- RGB (2.x)
- COLORREF RGB(cRed, cGreen, cBlue)
- BYTE cRed; /* red component of color */
- BYTE cGreen; /* green component of color */
- BYTE cBlue; /* blue component of color */
- The RGB macro selects an RGB color based on the parameters supplied and the
- color capabilities of the output device.
- Parameter Description
- cRed Specifies the intensity of the red color field.
- cGreen Specifies the intensity of the green color field.
- cBlue Specifies the intensity of the blue color field.
- Returns
- The return value specifies the resultant RGB color.
- Comments
- The intensity for each argument can range from 0 through 255. If all three
- intensities are specified as zero, the result is black. If all three
- intensities are specified as 255, the result is white.
- Comments
- The RGB macro is defined in WINDOWS.H as follows:
- #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)(g)<<8))| \
- (((DWORD)(BYTE)(b))<<16)))
- See Also
- GetBValue, GetGValue, GetRValue, PALETTEINDEX, PALETTERGB
- ==============================================================================
- BITMAPCOREINFO (3.0)
- typedef struct tagBITMAPCOREINFO { /* bmci */
- BITMAPCOREHEADER bmciHeader;
- RGBTRIPLE bmciColors[1];
- } BITMAPCOREINFO;
- The BITMAPCOREINFO structure fully defines the dimensions and color
- information for a device-independent bitmap (DIB). Windows applications
- should use the BITMAPINFO structure instead of BITMAPCOREINFO whenever
- possible.
- Member Description
- bmciHeader Specifies a BITMAPCOREHEADER structure that contains
- information about the dimensions and color format of a DIB.
- bmciColors Specifies an array of RGBTRIPLE structures that define the
- colors in the bitmap.
- Comments
- The BITMAPCOREINFO structure describes the dimensions and colors of a bitmap.
- It is followed immediately in memory by an array of bytes which define the
- pixels of the bitmap. The bits in the array are packed together, but each
- scan line must be zero-padded to end on a LONG boundary. Segment boundaries,
- however, can appear anywhere in the bitmap. The origin of the bitmap is the
- lower-left corner.
- The bcBitCount member of the BITMAPCOREHEADER structure determines the number
- of bits that define each pixel and the maximum number of colors in the
- bitmap. This member may be set to any of the following values:
- Value Meaning
- 1 The bitmap is monochrome, and the bmciColors member must contain two
- entries. Each bit in the bitmap array represents a pixel. If the bit is
- clear, the pixel is displayed with the color of the first entry in the
- bmciColors table. If the bit is set, the pixel has the color of the second
- entry in the table.
- 4 The bitmap has a maximum of 16 colors, and the bmciColors member
- contains 16 entries. Each pixel in the bitmap is represented by a four-bit
- index into the color table.
- For example, if the first byte in the bitmap is 0x1F, the byte represents two
- pixels. The first pixel contains the color in the second table entry, and the
- second pixel contains the color in the sixteenth table entry.
- 8 The bitmap has a maximum of 256 colors, and the bmciColors member
- contains 256 entries. In this case, each byte in the array represents a
- single pixel.
- 24 The bitmap has a maximum of 2^24 colors. The bmciColors member is
- NULL, and each 3-byte sequence in the bitmap array represents the relative
- intensities of red, green, and blue, respectively, of a pixel.
- The colors in the bmciColors table should appear in order of importance.
- Alternatively, for functions that use DIBs, the bmciColors member can be an
- array of 16-bit unsigned integers that specify an index into the currently
- realized logical palette instead of explicit RGB values. In this case, an
- application using the bitmap must call DIB functions with the wUsage
- parameter set to DIB_PAL_COLORS.
- Note: The bmciColors member should not contain palette indexes if the
- bitmap is to be stored in a file or transferred to another application.
- Unless the application uses the bitmap exclusively and under its complete
- control, the bitmap color table should contain explicit RGB values.
- See Also
- BITMAPINFO, BITMAPCOREHEADER, RGBTRIPLE
- ==============================================================================
- BITMAPCOREHEADER (3.0)
- typedef struct tagBITMAPCOREHEADER { /* bmch */
- DWORD bcSize;
- short bcWidth;
- short bcHeight;
- WORD bcPlanes;
- WORD bcBitCount;
- } BITMAPCOREHEADER;
- The BITMAPCOREHEADER structure contains information about the dimensions and
- color format of a device-independent bitmap (DIB). Windows applications
- should use the BITMAPINFOHEADER structure instead of BITMAPCOREHEADER
- whenever possible.
- Member Description
- bcSize Specifies the number of bytes required by the
- BITMAPCOREHEADER structure.
- bcWidth Specifies the width of the bitmap, in pixels.
- bcHeightSpecifies the height of the bitmap, in pixels.
- bcPlanesSpecifies the number of planes for the target device. This
- member must be set to 1.
- bcBitCount Specifies the number of bits per pixel. This value must be 1,
- 4, 8, or 24.
- Comments
- The BITMAPCOREINFO structure combines the BITMAPCOREHEADER structure and a
- color table to provide a complete definition of the dimensions and colors of
- a DIB. See the description of the BITMAPCOREINFO structure for more
- information about specifying a DIB.
- An application should use the information stored in the bcSize member to
- locate the color table in a BITMAPCOREINFO structure with a method such as
- the following:
- lpColor = ((LPSTR) pBitmapCoreInfo + (UINT) (pBitmapCoreInfo->bcSize))
- See Also
- BITMAPCOREINFO, BITMAPINFOHEADER, BITMAPINFOHEADER
- =============================================================================
- RGBTRIPLE (3.0)
- typedef struct tagRGBTRIPLE { /* rgbt */
- BYTE rgbtBlue;
- BYTE rgbtGreen;
- BYTE rgbtRed;
- } RGBTRIPLE;
- The RGBTRIPLE structure describes a color consisting of relative intensities
- of red, green, and blue. The bmciColors member of the BITMAPCOREINFO
- structure consists of an array of RGBTRIPLE structures. Windows applications
- should use the BITMAPINFO structure instead of BITMAPCOREINFO whenever
- possible. The BITMAPINFO structure uses an RGBQUAD structure instead of the
- RGBTRIPLE structure.
- Member Description
- rgbtBlueSpecifies the intensity of blue in the color.
- rgbtGreen Specifies the intensity of green in the color.
- rgbtRed Specifies the intensity of red in the color.
- See Also
- BITMAPCOREINFO, BITMAPINFO, RGBQUAD
- ==============================================================================
|