|
Graphics32 안에 필요한 코드는 다 있습니다.
반투명이란건 투명을 0, 불투명을 255로 정의한 알파값을 이용해
그려 넣을 R, G, B 와 배경 R, G, B 를 적절히 합성하는 처리니까요.
전경 RGB 를 fR, fG, fB 로 두고 배경 RGB를 bR, bG, bB 로 둔다면
합성된 R, G, B 는
R = (fR * alpha + bR * (255 - alpha)) / 255;
G = (fG * alpha + bG * (255 - alpha)) / 255;
B = (fB * alpha + bB * (255 - alpha)) / 255;
처럼 되겠죠. 이런식들이 Graphics32 안에 다 구현되어 있고요
폼의 배경을 메모리로 복사해 와서 그려 넣을 버튼 이미지의 알파값과 마스터알파값을 곱해
최종적으로 그려넣도록 버튼 컨트롤을 만들어 주시면, 첨부하신 결과물을 얻으실 수 있습니다.
버튼 컴포넌트 소스들을 찾아보시고,
Graphcis32 소스도 분석해 보시면, 멋진 컴포넌트를 만드실 수 있을겁니다.
그리고, 반투명 이미지를 지원하는 포멧은 PNG밖에 없으니,
이미지를 소스로 버튼을 구성하시려면 포토샵에서 반투명으로 그리신 다음, PNG로 저장하시는게 좋을겁니다.
p.s. 좀 우스운 이야기지만, 투명화 구현이란 Visible = false 로 됩니다.
반투명이라고 해야 그나마 적절할 것 같네요.
궁금해요! 님이 쓰신 글 :
: 음... 인터넷에서 찾은 파일인데요...
:
: 두번째 보시면 투명화 되는 버튼인데요
:
: 저렇게 하려면 어떻게 해야 할지 ㅎㅎ...
:
: 신기하기도 하고 유용하게 쓸수 있을 것 같아서요
:
: 구현 가능하시면 소스좀 공개 해주세요 ㅠ
:
:
: ps. MFC로 만들어진 파일 입니다... 빌더로도 가능 하지 않을까 해서 물어봅니다 ㅠ...
: 그리고 혹시 출처도 남겨야 하나요??? -ㅁ-??
|