HDC BMP 그림 으로 저장 절차
// 1. DC HBITMAP
HBITMAP hBitmap = (HBITMAP)::GetCurrentObject(hDC, OBJ_BITMAP);
if(0 == hBitmap)
{
return false;
}
// 2. HBITMAP BITMAP
BITMAP bitmap;
::GetObject(hBitmap, sizeof(BITMAP), &bitmap);
// 3. BITMAP BITMAPINFOHEADER
bitmapInfoHeader.biSize = sizeof(BITMAPINFOHEADER);
bitmapInfoHeader.biBitCount = bitmap.bmBitsPixel;
bitmapInfoHeader.biCompression = BI_RGB;
bitmapInfoHeader.biPlanes = bitmap.bmPlanes;
bitmapInfoHeader.biWidth = bitmap.bmWidth;
bitmapInfoHeader.biHeight = bitmap.bmHeight;
unsigned int nBytePerLine = (bitmapInfoHeader.biWidth * bitmapInfoHeader.biBitCount + 7) / 8;
nBytePerLine = (nBytePerLine + 3) / 4 * 4;
bitmapInfoHeader.biSizeImage = nBytePerLine * bitmapInfoHeader.biHeight;
// 4.
HPALETTE hPalette = (HPALETTE)::GetCurrentObject(hDC, OBJ_PAL);
int nEntries = 0;
::GetObject(hPalette, sizeof(WORD), &nEntries);
// 5. BMP RGBQUAD
if(nEntries)
{
PALETTEENTRY* pPALETTEENTRY = new PALETTEENTRY[nEntries];
::GetPaletteEntries(hPalette, 0, nEntries, pPALETTEENTRY);
...
delete [] pPALETTEENTRY;
}
// 6.
unsigned char* pData = new unsigned char[bitmapInfoHeader.biSizeImage];
::GetBitmapBits(hBitmap, bitmapInfoHeader.biSizeImage, pData);
...
delete [] pData;
// 7.
...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【초보자용】 화상의 가공이나 압축 등에 편리한 WEB 툴 4선WEB 개발 시에는 화상의 가공이나 압축 등 다양한 처리가 필요합니다. Adobe 소프트웨어를 가지고 있다면 거기까지 어려움이 적지만 Adobe 포토샵이 없어도 WEB상에서 가공·압축을 할 수 있는 툴을 소개. 제작...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.