1 / 9

파일 캡처

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

rene
Download Presentation

파일 캡처

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 파일 캡처

  2. 1 3 캡처의 정의 참고서적 및 참고 사이트 2 프로그램 설명 목 차

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

  4. 프로그램 설명1 MAXSTRETCHBLTMODE WHITEONBLACK HALFTONE COLORONCOLOR BLACKONWHITE

  5. 프로그램 설명2 (p.1124 DDB2DIB) BITMAPINFOHEADER는 비트 자체에 대한 정보를 저장하기 위한 구조체로서 다음과 같이 정의되어 있다. typedefstructtagBITMAPINFOHEADER { 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;

  6. 프로그램 설명3 GetDIBits함수는 지정된 호환 비트맵에서 비트열을 뽑아내서 지정된 포맽을 사용하는 DIB로 버퍼에 복사한다. intGetDIBits( 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이 아니고 함수가 성공하면, 반환값은 비트맵에서 복사된 스캔라인 수이다.

  7. 프로그램 설명4 BITMAPFILEHEADER는 비트맵 파일에 대한 정보를 저장하기 위한 구조체로서 다음과 같이 정의한다. typedefstructtagBITMAPFILEHEADER { WORD bfType; // "BM"이라는 값을 저장합니다 DWORD bfSize; // 파일의 크기(바이트 단위) WORD bfReserved1; // 예약된 값 WORD bfReserved2; // 예약된 값 DWORD bfOffBits; // 실제 이비지 비트까지의 오프셋 } BITMAPFILEHEADER; bfType은 어떤 파일이 BMP파일인지를 확인하기 위한 것으로 BMP파일은 항상 "BM"으로 시작하도록 되어있다. bfReserved1과 bfReserved2는 미래의 확장성을 고려하여 4바이트를 예약해 둔 것으로 현재는 사용하지 않는다.

  8. 참고서적 및 참고 사이트 • 참고서적 • API 완전정복 • 참고 사이트 • www.naver.com • www.google.co.kr • www.daum.net

  9. Thank You!

More Related