2009년 11월 7일 토요일

StretchBlt() 모드

StretchBlt()

 

 

StretchBlt( )은 비트맵을 확대할 때 픽셀들의 행 또는 열을 복제해아 한다. 만약 정수배로 확대하지 않는다면, 이 과정에서 어느 정도 이미지의 왜곡이 생길 수 있다.

디바이스 컨텍스트의 늘이기 모드(stretching mode) 속성을 변경하려면 SetStretchBltMode( ) 를 사용한다.

SetStretchBltMode (hdc, iMode) ;  

iMode 값은 다음 중 한개가 될 수 있다.

 

▶  BLACKONWHITE  or  STRETCH_ANDSCANS(디폴트)

- StretchBlt()은 픽셀들에 대해 논리 AND 연산을 수행한다.

- 원래 픽셀들이 모두 흰색일 경우에만 결과 픽셀은 흰색, 흰색 픽셀이 우세!

- 이 속성은 주로 흰색 배경에 검정색으로 되어 있는흑백 비트맵에 적당

▶  WHITEONBLACK  or  STRETCH_ORSCANS

- StretchBlt()은 픽셀들에 대해 논리 OR 연산을 수행한다.

- 원래 픽셀들이 모두 검정색일 경우에만 결과 픽셀은 검정색, 흰색 픽셀이 우세!

- 이 속성은 주로 흰색 배경에 검정색으로 되어 있는흑백 비트맵에 적당

▶  COLORONCOLOR   or   STRETCH_DELETESCANS

- StretchBlt()은 어떤 논리 연산도 하지 않고 픽셀들의 행, 열을 제거.

- 컬러 비트맵에서 종종 가장 좋은 접근 방법

▶  HALFTONE   or   STRETCH_HALFTONE

- 반색조 팔레트와 함께 사용됨.

댓글 없음:

댓글 쓰기