티스토리 뷰

Study/Application > Windows

CreateDIBSection

Jake Yoon 2011. 8. 19. 09:33

CreateDIBSection() 


 
 함수 응용 프로그램이 직접  수있는 장치 독립적 비트맵 (DIB) 만듭니다.
함수는 비트맵 대한 핸들을 반환합니다.



 함수의 원형

HBITMAP CreateDIBSection(HDC hdc, const BITMAPINFO* pbmi,

 UINT iUsage, void** ppvBits,

 HANDLE hSection, DWORD dwOffset);


 파라미터


HDC hdc, 
핸들의 이름

iUsage 가치 DIB_PAL_COLORS 경우, 함수 장치 독립 비트맵 색상을초기화하는 장치 컨텍스트 논리 팔레트 사용합니다.


BITMAPINFO* pbmi

비트맵을 저장할 구조체

포인터 [] 비트맵 규격 색상 포함하여 장치 독립 비트맵 다양한 특성 지정하는 BITMAPINFO 구조.


iUsage

bmiColors 배열 구성원에 포함된 데이터의 유형을 BITMAPINFO 지정합니다.

이거는 해석이 아리까리해서 원문을 참조…ㅜㅜ


[in] Specifies the type of data contained in the bmiColors array member of the BITMAPINFO structure pointed to by pbmi (either logical palette indexes or literal RGB values).

Value

Description

RGB_COLORS

BITMAPINFO 구조 비트 마스크 배열이나 구조biCompression 회원 가치 따라 팔레트 포함하고있습니다. 이러한 값은 비트맵 렌더링   사용됩니다.

PAL_COLORS

BITMAPINFO.bmiColors 어레이 무시되고 대상 팔레트비트맵 렌더링   사용됩니다.

 값은 단지 8 - bpp 비트맵으로 지정할  있습니다.


ppvBits

포인터 [] 장치 독립 비트맵 비트  위치 대한 포인터받는 변수.


hSection

그냥 널값을 주라는것같은데..….이것도 원본 참조

[in] Set this parameter to NULL.


dwOffset

그냥 무시하란다. ㅡㅡ;;



 
Return Value

  성공하면 비트맵에 핸들값을 리턴하고, 실패하면 NULL을히턴한다는  같다ㅡㅡ;;; 이것도 원문 참조

A handle to the newly created device-independent bitmap indicates success, and *ppvBits points to the bitmap's bit values.

NULL indicates failure, and *ppvBits is NULL.

To get extended error information, call GetLastError.



 
Remarks

  시스템이 장치 독립 비트맵 대한 메모리 할당합니다.  시스템 나중에 DeleteObject 함수 호출하여 장치 독립 비트맵 삭제하면 해당 메모리 대한 핸들을 닫습니다.

(-, 2 -, 4 -  8 - bpp 포맷 보통 1) 이미지 palletized하는 경우 윈도 우 CE 2.0  이후 버전, BITMAPINFO 구조 컬러 테이블 포함해야합니다.

  16 - BPP 또는 32 - bpp  palletized 이미지 경우 색상 테이블이  항목이어야합니다; 항목 빨간색, 녹색  파랑 bitmasks 값을 지정해야합니다.

  또한, BITMAPINFOHEADER 구조에서 biCompression 회원BI_BITFIELDS 설정해야합니다. BI_RGB 이러한 비트 깊이 지원되지 않습니다. GDI 24 - bpp 이미지 색상 테이블 무시하고, 그들의 픽셀 블루 - 그린 - 빨강 (BGR) 형식으로 저장해야합니다.

Windows Embedded CE does not support 332 bitfields devices.

 
 
 
윈도우 CE 1.0 1.01에서 BITMAPINFO 구조 픽셀  1 또는 2 비트지정해야합니다 pbmi 매개 변수 지적했다.

DIBSECTION 메모리 DWORD - 행에 의해 정렬됩니다.

사용 예제

BITMAPINFO bitDefine; <- 구조체

HBITMAP h_bitmap = ::CreateDIBSection(h_ScreenDc, &bitDefine,DIB_RGB_COLORS, (void **)&p_image_data, 0, 0);

 

 

댓글