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
[50422] Re:[질문] bmp 투명 그리기
장성호 [nasilso] 1942 읽음    2007-08-31 08:42
[GraphicControl에 대해]
TImage는 핸들이 없는 GraphicControl입니다.
Canvas가 있지만 진짜 화면에 보여지는 Canvas가 아니죠
즉 TImage는 자신의 Parent의 DC에다가 자신이 가지고 있는 Image를 그립니다.
모든 GraphicControl이 다 그렇습니다.

[Transparent에 대해]
TImage의 Transparent기능은 자신이 가지고 있는 이미지 중에서
특정 색상은 Parent DC에 그리지 않는다는것입니다.

TImage의 경우 Transparent  색상을 특별히 정해주지 않으면
{0,0} 위치의 Pixcel 색상이  Transparent 색상이 됩니다.
TransparentColor  는 아래와 같이 설정해 줍니다.
Image1->Picture->Bitmap->TransparentColor =  clFuchsia;

[프로그램에 대해]

1. TransparentColor   에 대해

아래와 같이 코딩하면 TransparentColor  는 clFuchsia 이 되겟죠
    Image1->Canvas->Pen->Color=clFuchsia;
    Image1->Canvas->Brush->Color=clFuchsia;

    Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height);
    Image1->Transparent= true;
    Image1->Picture->Bitmap->TransparentColor =  clFuchsia;

프로그램에서 Image1의  Parent 는 Form1 이잖아요
Form1의 색상은 clBtnFace이구
그래서  Image1의 clFuchsia 색상 부분은 모두 clBtnFace 색상으로 나온것입니다.

2. TImage는 Transparent 속성에 의해
    자신이 가지고 있는 Color를 변경하는것이 아니라
    Parent에 단지 TransparentColor  색상을 칠하지 않는다..
   즉 Image2에 있는 Image1에 copy할때는 색상은 그대로 복사되어서  Image1이 가지고 있게 되죠





박대성 님이 쓰신 글 :
: 폼에 이미지 콤포넌트 image1, image2 를 올려놓고
:
: image2에서 일부를 읽어서 투명을 적용하여 image1에 그려보려고 합니다.
: 잘라서 그려보면 투명처리가 되는게 아니고 지정된 색이 바닥색으로 바뀌는 효과가 되는군요
:
: 샘플을 참조해봤습니다.
:
: 도형을 그리고 스프라이트를 올려보면 스프라이트 외곽이 투명이 되어 도형이 비치는게 아니고
: 바닥회색이 나타나는군요..
:
: 적용은 transparent 를 true 하고 이미지를 잘라서 붙여본것입니다.

+ -

관련 글 리스트
50421 [질문] bmp 투명 그리기 박대성 1993 2007/08/31
50427     Re:[질문] bmp 투명 그리기 이현진 3294 2007/08/31
50430         Re: 감사합니다. 궁금증을 완벽히 해결해주셨군요 intothefree 1542 2007/08/31
50422     Re:[질문] bmp 투명 그리기 장성호 1942 2007/08/31
50423         Re:Re:[질문] bmp 투명 그리기 intothefree 1976 2007/08/31
50425             Re:Re:Re:[재질문] bmp 투명 그리기 intothefree 2115 2007/08/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.