C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[46166] Re:brush 투명도 조절하는 법
미루 [] 2121 읽음    2006-08-14 16:02
브러시 자체에서 불투명도를 조절할 수는 없습니다.;

불투명하게 나타내고 싶으시다면 여러가지 방법이 있겠지만. 간단하게 두가지 정도의 방법을 알려드릴 수 있겠네요;

첫번째는. 한 픽셀 사이에 투명한 픽셀을 두어 어우러져 투명한 듯 보이는 방법입니다.;

○ 투명한 픽셀 , ● 색이 있는 픽셀.
○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○
○●○●○●○●○●○●○●○●○●○●○●○●
●○●○●○●○●○●○●○●○●○●○●○●○

이렇게 하면 투명한 부분이 배경색으로 차게 되어 불투명한 느낌을 받을 수 있게 됩니다.

또 다른 방법으로는 합성을 하는 방법입니다.

예를들어 (배경의 색 + 그려질 색) / 2 하면 반 투명한 색이 되겠지요.. 이걸로 색을 채우는 겁니다.

원하시는 답변은 아니겠지만.. 브러시 자체엔 불투명도를 조절하는 방법은 없는걸로 압니다.;

brush 스타일과 hatch 를 잘 조절하면 첫번째 방법의 효과는 바로 나타내실 수 있을겁니다. ;;

^^ 좋은하루 되세요~;

잠스터 님이 쓰신 글 :
: Polygon이나 Rectangle 함수로 어떤 영역을 그릴 때,
: 내부 영역은 완전 투명이 아닌 반투명으로 해서 배경의 색이 비치게 그리고 싶습니다.
:
: 완전 투명 브러쉬는
:     LOGBRUSH lplb;
:     lplb.lbStyle = BS_HOLLOW;
:     lplb.lbHatch = 0;
:     lplb.lbColor = RGB(0,0,0);
:     HBRUSH brush = CreateBrushIndirect(&lplb);
: 이렇게 구현했는데 반투명은 모르겠네요..
: 가령 빨간색 반투명 브러쉬는 어떻게 해야 하는지 답변 부탁드립니다...

+ -

관련 글 리스트
46149 brush 투명도 조절하는 법 잠스터 1148 2006/08/12
46361     Re:brush 투명도 조절하는 법 김상구.패패루 2974 2006/08/30
46166     Re:brush 투명도 조절하는 법 미루 2121 2006/08/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.