CAFE

[6.0]API 활용

[펌] 매우 빠른 TransparentBlt 대체 함수...

작성자냐냐냐|작성시간08.09.07|조회수948 목록 댓글 4

www.pscode.com 에서 퍼왔습니다.

 

 

사용법은...

 

TransBitBlt 대상hDC, 대상x, 대상y, Width, Height, 원본hDC, (원본x), (원본y)

 

이렇고...

 

 

성능이 상당히 뛰어납니다. 마스크 비트맵을 이용해서 BitBlt로 2번 출력하는게 TransparentBlt보다 30~50배 정도 빠르다고 한다면 TransBitBlt는 10~20배 정도 빠르다고 할 수 있습니다.

 

단점이 있다면 마스크 컬러를 검정색 밖에 사용할 수 없습니다.

 

또한 원본 픽쳐박스의 AutoRedraw속성은 True, 대상 픽쳐박스의 Autoredraw속성은 False로 설정해야만 제대로 속도가 나옵니다. 그리고 픽쳐박스의 ForeColor가 검정색이 아닐경우 원하지 않는 결과가 나올 수도 있습니다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자수학쟁이 | 작성시간 08.09.10 예전에 구글에서 리젼(Region)을 이용한 TransparentBlt 따라한 함수 (델파이version) 본적이 있는것 같은데...
  • 작성자마운티킹 | 작성시간 08.09.12 냐냐냐님 혹시 픽쳐박스의 ForeColor 가 마스크 색이 아닐까요 ㅇㅅㅇ
  • 답댓글 작성자냐냐냐 작성자 본인 여부 작성자 | 작성시간 08.09.12 확인해본 결과 마스크색과는 관계 없었습니다. ForeColor가 마스크색이 아닌 경우에도 그러니까요. 뭐, 그 부분은 SetTextColor API를 사용하면 해결 가능한 문제지만 말입니다.
  • 작성자빗방울 | 작성시간 09.06.08 후훗 찾았다... - QBColor(0) -> 없앨 색, QBColor(15) -> 16777215(vbwhite) - 없앨 색
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼