в формате Presentation Manager lpch
else if(biSize == sizeof(BITMAPCOREHEADER)) // 12 байт { // Это заголовок DIB в формате Presentation Manager lpch = (LPBITMAPCOREHEADER)(hDIBPtr + sizeof(BITMAPFILEHEADER));
// Проверяем основные поля заголовка DIB if((lpch->bcPlanes == 1) && (lpch->bcBitCount == 1 lpch->bcBitCount == 4 lpch->bcBitCount == 8 lpch->bcBitCount == 24)) { nDIBType = PM_DIB; } else nDIBType = 0; }
else nDIBType = 0;
GlobalUnlock(hDib);
// Возвращаем тип файла или признак ошибки return nDIBType; }
// ------------------------------- // Функция DIBNumColors // Определение размера палитры // -------------------------------
WORD DIBNumColors(LPDIB lpDib) { DWORD dwColorUsed; LPBITMAPINFOHEADER lpih;
lpih = (LPBITMAPINFOHEADER)(lpDib + sizeof(BITMAPFILEHEADER));
// Количество цветов dwColorUsed = lpih->biClrUsed;
// Если используется палитра уменьшенного размера, // возвращаем нужный размер if(dwColorUsed) return((WORD)dwColorUsed);
// Если количество использованных цветов не указано, // вычисляем стандартный размер палитры исходя из // количества бит, определяющих цвет пиксела switch(lpih->biBitCount) { case 1: return 2; case 4: return 16; case 8: return 256; default: return 0; // палитра не используется } }
// ------------------------------- // Функция DIBHeight // Определение высоты DIB в пикселах // -------------------------------
WORD DIBHeight(LPDIB lpDib) { LPBITMAPINFOHEADER lpih;
lpih = (LPBITMAPINFOHEADER)(lpDib + sizeof(BITMAPFILEHEADER)); return lpih->biHeight; }
// ------------------------------- // Функция DIBWidth // Определение ширины DIB в пикселах // -------------------------------
WORD DIBWidth(LPDIB lpDib) { LPBITMAPINFOHEADER lpih;
lpih = (LPBITMAPINFOHEADER)(lpDib + sizeof(BITMAPFILEHEADER)); return lpih->biWidth; }
// ------------------------------- // Функция DIBFindBits // Определение адреса массива бит изображения // -------------------------------
LPSTR DIBFindBits(LPDIB lpDib) { LPBITMAPFILEHEADER lpfh; LPBITMAPINFOHEADER lpih;
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий