파일 캡처
description
Transcript of 파일 캡처
파일 캡처
LOGO목 차
캡처의 정의1
프로그램 설명2참고서적 및 참고 사이트3
LOGO캡처의 정의
캡처란 화면의 일부분을 잡아서 비트맵으로 만드는 것이다
LOGO프로그램 설명 1
BLACKONWHITEMAXSTRETCHBLTMODEWHITEONBLACKCOLORONCOLORHALFTONE
LOGO프로그램 설명 2 (p.1124 DDB2DIB)BITMAPINFOHEADER 는 비트 자체에 대한 정보를 저장하기 위한 구조체로서 다음과 같이 정의되어 있다 .
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 이 구조체의 크기 LONG biWidth; // 이미지의 폭 ( 픽셀 단위 )
LONG biHeight; // 이미지의 높이 ( 픽셀 단위 )
WORD biPlanes; // 비트 플레인 수 ( 항상 1)
WORD biBitCount; // 픽셀 당 비트 수 DWORD biCompression; // 압축 유형 DWORD biSizeImage; // 이미지의 크기 ( 바이트 단위 )
LONG biXPelsPerMeter; // 가로 해상도 LONG biYPelsPerMeter; // 세로 해상도 DWORD biClrUsed; // 실제 사용되는 색상 수 DWORD viClrImportant; // 중요한 색상 인덱스 (0 이면 전체 )
}BITMAPINFOHEADER;
LOGO프로그램 설명 3GetDIBits 함수는 지정된 호환 비트맵에서 비트열을 뽑아내서 지정된 포맽을 사용하는 DIB 로 버퍼에 복사한다 .
int GetDIBits( HDC hdc, // DC 핸들 HBITMAP hbmp, // 비트맵 핸들 UINT uStartScan, // 첫번째 스캔라인 UINT cScanLines, // 복사할 스캔라인 수 LPVOID lpvBits, // 비트맵 비트 배열 LPBITMAPINFO lpbi, // 비트맵 데이터 버퍼 UINT uUsage // RGB 또는 팔레트 인덱스);
패러미터hdc
[in] 디바이스 컨텍스트 핸들 hbmp
[in] 비트맵 핸들 . 호환 비트맵이어야 한다 . (DDB). uStartScan
[in] 뽑아올 첫번째 스캔라인을 지정한다 . cScanLines
[in] 뽑아올 스캔라인 줄수를 지정한다 . lpvBits
[out] 비트맵 데이터를 받아올 버퍼 포인터 . 이 패러미터가 NULL 이면 , 비트맵의 크기와 포맽은 lpbi 패러미터가 가리키는 BITMAPINFO 구조체에 넘겨진다 .
lpbi [in/out] 원하는 DIB 데이터 포맽을 지정하는 BITMAPINFO 구조체 포인터
uUsage [in] BITMAPINFO 구조체의 bmiColors 멤버의 포맽을 지정한다 . 아래 값 중에 하나여야 한다 . 값 의미 DIB_PAL_COLORS 컬러 테이블이 현재의 논리 팔레트 16 비트 인덱스 배열로 이루어진다 . DIB_RGB_COLORS 컬러 테이블이 실제의 빨강 , 초록 , 파랑 (RGB) 값으로 이루어진다 . 반환값
lpvBits 패러미터가 NULL 이 아니고 함수가 성공하면 , 반환값은 비트맵에서 복사된 스캔라인 수이다 .
LOGO프로그램 설명 4
BITMAPFILEHEADER 는 비트맵 파일에 대한 정보를 저장하기 위한 구조체로서 다음과 같이 정의한다 .
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // "BM" 이라는 값을 저장합니다 DWORD bfSize; // 파일의 크기 ( 바이트 단위 )
WORD bfReserved1; // 예약된 값 WORD bfReserved2; // 예약된 값 DWORD bfOffBits; // 실제 이비지 비트까지의 오프셋} BITMAPFILEHEADER;
bfType 은 어떤 파일이 BMP 파일인지를 확인하기 위한 것으로 BMP 파일은 항상 "BM" 으로 시작하도록 되어있다 . bfReserved1 과 bfReserved2 는 미래의 확장성을 고려하여 4 바이트를 예약해 둔 것으로 현재는 사용하지 않는다 .
LOGO참고서적 및 참고 사이트참고서적
API 완전정복참고 사이트
www.naver.com www.google.co.kr www.daum.net