파일 캡처

9
파파 파파

description

파일 캡처. 1. 3. 캡처의 정의. 참고서적 및 참고 사이트. 2. 프로그램 설명. 목 차. 캡처의 정의. 캡처란 화면의 일부분을 잡아서 비트맵으로 만드는 것이다. 프로그램 설명 1. MAXSTRETCHBLTMODE. WHITEONBLACK. HALFTONE. COLORONCOLOR. BLACKONWHITE. 프로그램 설명 2 (p.1124 DDB2DIB). BITMAPINFOHEADER 는 비트 자체에 대한 정보를 저장하기 위한 구조체로서 다음과 같이 정의되어 있다 . - PowerPoint PPT Presentation

Transcript of 파일 캡처

Page 1: 파일  캡처

파일 캡처

Page 2: 파일  캡처

LOGO목 차

캡처의 정의1

프로그램 설명2참고서적 및 참고 사이트3

Page 3: 파일  캡처

LOGO캡처의 정의

캡처란 화면의 일부분을 잡아서 비트맵으로 만드는 것이다

Page 4: 파일  캡처

LOGO프로그램 설명 1

BLACKONWHITEMAXSTRETCHBLTMODEWHITEONBLACKCOLORONCOLORHALFTONE

Page 5: 파일  캡처

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;

Page 6: 파일  캡처

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 이 아니고 함수가 성공하면 , 반환값은 비트맵에서 복사된 스캔라인 수이다 .

Page 7: 파일  캡처

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 바이트를 예약해 둔 것으로 현재는 사용하지 않는다 .

Page 8: 파일  캡처

LOGO참고서적 및 참고 사이트참고서적

API 완전정복참고 사이트

www.naver.com www.google.co.kr www.daum.net

Page 9: 파일  캡처