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가 검정색이 아닐경우 원하지 않는 결과가 나올 수도 있습니다.
첨부파일첨부된 파일이 1개 있습니다.
다음검색
댓글
댓글 리스트-
작성자수학쟁이 작성시간 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) - 없앨 색