| 53 | return roi; |
| 54 | } |
| 55 | void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origin ) |
| 56 | { |
| 57 | assert( bmi && width >= 0 && height >= 0 && (bpp == 8 || bpp == 24 || bpp == 32)); |
| 58 | |
| 59 | BITMAPINFOHEADER* bmih = &(bmi->bmiHeader); |
| 60 | |
| 61 | memset( bmih, 0, sizeof(*bmih)); |
| 62 | bmih->biSize = sizeof(BITMAPINFOHEADER); |
| 63 | bmih->biWidth = width; |
| 64 | bmih->biHeight = origin ? abs(height) : -abs(height); |
| 65 | bmih->biPlanes = 1; |
| 66 | bmih->biBitCount = (unsigned short)bpp; |
| 67 | bmih->biCompression = BI_RGB; |
| 68 | if( bpp == 8 ) |
| 69 | { |
| 70 | RGBQUAD* palette = bmi->bmiColors; |
| 71 | int i; |
| 72 | for( i = 0; i < 256; i++ ) |
| 73 | { |
| 74 | palette[i].rgbBlue = palette[i].rgbGreen = palette[i].rgbRed = (BYTE)i; |
| 75 | palette[i].rgbReserved = 0; |
| 76 | } |
| 77 | } |
| 78 | } |
| 79 | CvvImage::CvvImage() |
| 80 | { |
| 81 | m_img = 0; |