GDI +에서 메모리 비트맵에 그리는 방법


요약


그래픽 개체로 그린 이미지를 포함 하는 비트맵 또는 이미지를 가져와야 하는 경우가 있습니다. Bitmap 클래스에 대해 오버 로드 된 생성자 중 하나는 graphics 개체를 매개 변수로 받아들입니다. 그러나이 생성자는 비트맵 비트를 초기화 하기 위해 graphics 개체에서 그린 이미지를 사용 하지 않습니다. 예를 들어 인치당 도트 수와 같은 그래픽 개체와 비슷한 속성을 사용 하 여 비트맵을 만듭니다.

추가 정보


Bitmap 생성자는 graphics 개체의 이미지를 사용 하 여 이미지 비트를 초기화 하지 않기 때문에 다음과 같은 코드가 graphics 개체에서 그린 이미지를 포함 하는 비트맵이 발생 하지 않습니다.
Graphics g( hWnd );// Draw on gBitmap b( 100, 100, &g ); // Will not get image from g
그래픽 개체를 사용 하 여 비트맵에 그리려면 다음과 같은 코드를 대신 사용할 수 있습니다.
Bitmap b(100,100);Graphics *g = Graphics::FromImage(&b);// Draw on g
창에서 기존 이미지를 캡처하려면 BitBlt () 또는 StretchBlt () 등의 GDI (Windows Graphics Device Interface) 함수를 사용 하 여 이미지를 화면에서 메모리 비트맵으로 복사 해야 합니다. 이 메모리 비트맵은 HBITMAP를 매개 변수로 사용 하는 오버 로드 된 bitmap 생성자에서 사용할 수 있습니다.

참조


GDI를 사용 하 여 화면을 캡처하는 방법에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조 하세요.
186736 전체 창을 캡처하고 인쇄 하는 방법
플랫폼 SDK 설명서의 GDI 섹션에서 "이미지 캡처":