08/02/2019 - No Comments!

loadbitmap 예제

다음은 텍스트 편집기에서 볼 때 RC(리소스 스크립트) 파일의 예제 항목입니다. MYMFC26A 예제에서는 MM_LOENGLISH로 설정된 매핑 모드를 사용하여 스크롤 보기에 리소스 기반 비트맵을 표시합니다. 이 프로그램은 위에서 설명한 StretchBlt() 논리를 사용하지만 메모리 장치 컨텍스트와 비트맵은 뷰의 OnInitialUpdate() 멤버 함수에서 만들어지고 프로그램의 수명 동안 마지막으로 생성됩니다. 또한 프로그램은 CGdiObject 멤버 함수 GetObject()에 대한 호출을 통해 비트맵 크기를 읽므로 앞의 예제와 같이 하드 코딩된 값을 사용하지 않습니다. 비트맵에 표시할 수 있는 색상 수에 따라 다양한 유형의 비트맵이 있습니다. 우선 비트맵은 흑백일 수 있으며, 이 경우 각 픽셀은 1비트에 해당합니다. 비트맵에 색을 지정할 수도 있습니다. 비트맵이 표시할 수 있는 색상 수는 구덩이/픽셀 수로 2개 증가합니다. 예를 들어 간단한 비트맵은 4개의 구덩이/픽셀만 사용하거나 4bpp는 24 = 16색상만 처리할 수 있습니다. 8bpp가 필요한 보다 향상된 비트맵은 28 = 256 색상을 처리할 수 있습니다.

비트맵은 장치에 표시할 가용성을 제어하는 두 가지 범주로 나뉩니다. 프로그램 외부에서 시작된 비트맵을 표시하는 예제 프로그램을 보았습니다. 이제 화면에서 부드러운 동작을 지원하기 위해 자체 비트맵을 생성하는 예제 프로그램이 표시됩니다. 원칙은 간단합니다 : 선택한 비트맵으로 메모리 장치 컨텍스트를 그린 다음 비트맵을 화면에 zap합니다. ClientPhoto 특성에 클라이언트의 사진이 포함된 파일(BMP 유형)의 경로 이름이 포함된 클라이언트 트랜잭션(코드* 이름 ClientPhoto)을 정의했습니다. 폼에 클라이언트의 사진을 표시하려면 이미지 유형의 변수를 정의해야 합니다( 예: 및 Photo) 다음 규칙을 추가하여 양식에 배치합니다. . DIF를 사용하는 경우 색상과 프린터로 더 쉽게 시간을 보낼 수 있습니다.

경우에 따라 더 나은 성능을 얻을 수 있습니다. Win32 함수 CreateDIBSection()은 GDI 비트맵의 모든 기능과 결합된 DiB의 이점을 제공합니다. 마지막으로 MFC CBitmapButton 클래스를 사용하여 푸시 버튼에 비트맵을 넣는 방법을 배웁니다. CBitmapButton을 사용하여 푸시 버튼에 비트 맵을 넣는 것은 DB와는 아무 상관이 없지만 예제없이 마스터하기 어려운 유용한 기술입니다. 다른 GDI 도구와 달리 비트맵을 만드는 에는 일반적으로 더 많은 단계가 포함됩니다. 예를 들어 창에 표시할 비트맵을 만들 수 있습니다. 기하학적 영역을 페인그하기 위해 다른 비트맵을 만들 수 있으며, 이 경우 비트맵이 브러시로 사용됩니다. 비트맵1 예제의 디스플레이 매핑 모드가 MM_TEXT인 경우 각 비트맵 픽셀은 표시 픽셀에 매핑되고 비트맵은 완벽하게 맞습니다. 매핑 모드가 MM_LOENGLISH인 경우 비트맵 크기는 0.54x0.96인치 또는 Windows 95의 경우 52x92 픽셀이며 GDI는 비트맵에 맞게 만들기 위해 약간의 크런치를 수행해야 합니다.

Published by: jeshurun

Comments are closed.