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

델파이 Q&A
Delphi Programming Q&A
[12823] 답변감사합니다.방법을 더 생각해봐야겠습니다.
김현승 [couping] 1664 읽음    2009-07-27 14:35
답장 감사합니다.

제가 하려고 한것은 두개의 영상을 위 아래 겹쳐진 상태에서 위의 영상을 투명하게 함으로써 겹쳐보이게 하려고 했던것입니다.

생각해보니 몇몇 방법은 나올 수 있을것 같습니다.

더 좋은 의견 있으시면 답변 부탁드립니다.

장성호 님이 쓰신 글 :
: 님께서 무얼 만드시려지?
: 왜 AlphaBlending기능이 필요한지 궁금하네요..
:
: 앞에 답변에 설명이 조금 잘못되었네요
: 다시 말씀드리면 Window-Handle이 있는 Contorl의 경우 (Form이나 Frame , Panel, Edit 등등..)
: Parent가 없는 즉 독립도니 Window이어야   Win32에서 제공하는 방식으로 AlphaBlending이 가능합니다.
: 다른 방식으로는 쉽지 않습니다.
:
: 그래도 굳이 AlphaBlending을 하고 싶다면..
:
: [방법1]
:   ; 위 설명에 답이 하나 있는데요...
:     Handle이 있는 Control이기때문에 AlphaBlending이 제대로 안되는것이므로
:     Handle이 없는 GraphicControl을 이용하면 가능하다는 얘기가 되겠죠..

:        Graphic-Control은 자신을 나타낼 dc가 없으므로
:         Parent되는 WinControl의 dc에가다 자신을 draw해줍니다.
:         Parent의 dc에다가 draw해줄때 Alphablending으로 draw해주면 되겠죠..
:
: [방법2]
:    ; 편법인데요..
:    ; Form을 이용합니다.
:      독립된 Form으로 AlphaBlending기능을  만듭니다.
:      하지만 마치 MainForm의 안에 있는 Panel같은 Control처럼 보이도록 만들어야겟쬬
:       - 독립된 폼이 MainForm의 Client영역 안에서만 움직어야 할것이며
:       - MainForm안에 있는 Control처럼 MainForm이 Colos되거나 Maximize/minimiz될때 동기되어야겟쬬..
:       (이부분도 삽질일듯...)
:
:  [방법3]
:     - 버벅 거리고 ,까다롭고 좋지 않는 방법인데요...
:     - Panel을 이용한다고 하구요...
:     - Panel의  PAINT  메세지에서 .. 메모리 DC를 하나 생성하여서..
:     - Panel의 Parent-Control의 이미지를 가져옵니다.
:         (이때 Panel자신을 포함하여 자신보다 ZOrder가 높은 놈은 빠지도록 해야겠죠)
:     - 가져온 image에다가  자신의 image와 AlphaBlending합니다.
:     - 그런후에 자신의 DC에 Draw해줍니다.
:
:
:    [방법4]
:        ...
:        ...   
:
: 프로그램의 목적에 따라 맞는 방법이 다를것인데요
:    추천1. 가능하면  AlphaBlending을  안쓴다.
:    추천2. AlphaBleing을 지원하는 GraphicControl을 이용한다.
:
:
: 그럼..
:    
:
: 김현승 님이 쓰신 글 :
: : 답글 감사합니다.
: : 저렇게 하는것을 포기 할 수 없어 다시 질문드립니다.
: : 사실 Panel에 저렇게 할 수 있다면 좋겠는데...안되서 저렇게 해 볼려고 했었는데....
: :
: : Panel이나 Frame이나 등등에 저렇게 투명도를 조절할 수 있는 컴포넌트나 방법이 있나요??
: :
: : 아시는 분있으시면 답글 부탁드립니다.
: :
: :
: :
: : 장성호 님이 쓰신 글 :
: : : 안됩니다.
: : :
: : : DesktopWindow를 WndParent로 가진 윈도우(작업표시줄에 나타나는..) 인경우에만
: : : 일반적인 방법으로 AlphaBlending이 적용됩니다.
: : :
: : : 그럼..
: : :
: : :
: : : 김현승 님이 쓰신 글 :
: : : : 안녕하세요
: : : :
: : : : fsMDIChild에 대해서 폼에 투명도를 조절 하고 싶습니다.
: : : : AlphaBlend를 true로 한 후, AlphaBlendValue값을 조절하는 방식으로 투명도를 조절 하고 싶은데...
: : : : fsMDIChild에서는 조절이 안되네요...
: : : :
: : : : fsMDIForm에서 조절을 하면 잘 됩니다. 문제는 fsMDIChild 폼까지 모두 적용이 된다는 것이 문제고 또하나는 부모 폼은 투명도를 조절할 필요가 없거든요...
: : : :
: : : : 자식폼만 조절을 하고 싶은데...답변 두탁드립니다.

+ -

관련 글 리스트
12819 [질문]fsMDIChild의 AlphaBlend를 이용해서 투명도를 조절 할 수 있나요? 김현승 2342 2009/07/25
12820     Re:[질문]fsMDIChild의 AlphaBlend를 이용해서 투명도를 조절 할 수 있나요? 장성호 2020 2009/07/27
12821         Re:Re:[재질문]그럼 AlphaBlending처럼 할 수 있는 방법이나 컴포넌트가 있나요? 김현승 1851 2009/07/27
12822             Re:Re:Re:[재질문]그럼 AlphaBlending처럼 할 수 있는 방법이나 컴포넌트가 있나요? 장성호 3201 2009/07/27
12823                 답변감사합니다.방법을 더 생각해봐야겠습니다. 김현승 1664 2009/07/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.