참고> https://blog.naver.com/tipsware/220985029852
1. 비트맵 생성 => CreateBitmap()
=> CreateBitmap 함수의 4번째 인자인 색상 수에 특정 값을 고정해서 사용하면 프로그램의 호환성이 떨어짐.
왜냐하면 그래픽 장치마다 색상 수가 다를 수 있고, 같은 그래픽 장치라 하더라도 사용자가 운영체제 설정에서 색상 수를 다르게 설정해서 사용할 수 있기 때문에 주의해야 함.
이 경우 CreateBtimap()은 DDB형식의 비트맵을 생성하는 것임.
그래서 CreateBitmap()을 호출할 때 색상 수를 하드코딩하는 것 대신,
현재 프로그램에서 사용하는 그래픽 장치에 대한 속성을 DC(Device Context)가 가지고 있기 때문에
GetDeviceCaps() 함수를 사용하여 현재 그래픽 장치의 색상 수를 얻어오는 게 좋음.
2. 비트맵 생성 => CreateCompatibleBitmap()
=> CreateBitmap() 은 개발자가 직접 색상 수를 입력해 주어야 하지만, CreateCompatibleBitmap()은 첫 번째 인자에 NULL을 명시하면 현재 윈도우가 사용하는 기본 DC 속성을 가지고 비트맵을 생성함. 따라서 개발자가 굳이 색상 수 정보를 지정할 필요가 없음.
3. 비트맵 제거 => DeleteObject()
반응형