////////////////////////// // Handle of DIB Procdure // DIB constants #define HDIB HGLOBAL #define PALVERSION 0x300 #define DIB_SIGNATURE (* (int *) "Dib ") #define DIB_HEADER_MARKER ((WORD) ('M' << 8) | 'B') #define IS_WIN30_DIB(lpBI) ((*(LPDWORD)(lpBI)) == sizeof(BITMAPINFOHEADER)) #define WIDTHBYTES(bits) (((bits) + 31) >> 5 << 2) ////////////////////////////////////////////////////////////////////////////// // Extern Function // DIB-Image Info long DibHeaderSize(HDIB lpDIB); LPSTR DibImage(HDIB hDIB); long DibImageSize(HDIB lpDIB); long DibWidth(HDIB hDIB); long DibHeight(HDIB hDIB); long DibBitCount(HDIB hDIB); long DibRowLength(HDIB hDIB); long DibImageIndex(HDIB lpDIB, long x, long y); // DIB-Palette Info LPSTR DibPalette(HDIB lpDIB); long DibNumColors(HDIB hDIB); long DibPaletteSize(HDIB hDIB); RGBQUAD DibGetPaletteColor(HDIB lpDIB, long index); BOOL DibSetPaletteColor(HDIB lpDIB, long index, RGBQUAD color); WORD DibGetPaletteIndex(HDIB lpDIB, RGBQUAD color); ////////////////////////////////////////////////////////////////////////////// HDIB DibCreate(long width, long height, long depth); // Get & Set data void DibGetPixelColor(HDIB hDIB, long x, long y, RGBQUAD *color); BOOL DibSetPixelColor(HDIB hDIB, long x, long y, RGBQUAD color); HDIB DDB2DIB(CBitmap &bmImage); //////////////////////////////////////////////////////////////////////////////