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가 검정색이 아닐경우 원하지 않는 결과가 나올 수도 있습니다.
첫댓글 예전에 구글에서 리젼(Region)을 이용한 TransparentBlt 따라한 함수 (델파이version) 본적이 있는것 같은데...
냐냐냐님 혹시 픽쳐박스의 ForeColor 가 마스크 색이 아닐까요 ㅇㅅㅇ
확인해본 결과 마스크색과는 관계 없었습니다. ForeColor가 마스크색이 아닌 경우에도 그러니까요. 뭐, 그 부분은 SetTextColor API를 사용하면 해결 가능한 문제지만 말입니다.
후훗 찾았다... - QBColor(0) -> 없앨 색, QBColor(15) -> 16777215(vbwhite) - 없앨 색