|
아 배경을 투명하게 하는 옵션이군요
이렇게 해도 되네요
염치 없지만 픽셀로 찍은 그림과 불러내서 찍은 그림의 차이점은 알수 없을까요?
이유도 궁금해서요 ^^
Julien 님이 쓰신 글 :
: Transparent 라는 속성이 있습니다.
: Graphics::TBitmap *bmp1 = new Graphics::TBitmap;
: bmp1->LoadFromFile(ExtractFilePath(Application->ExeName) + "a.bmp");
:
: Graphics::TBitmap *bmp2 = new Graphics::TBitmap;
: bmp2->LoadFromFile(ExtractFilePath(Application->ExeName) + "b.bmp");
: bmp2->Transparent = true;
:
: this->Canvas->Draw(0, 0, bmp1);
: this->Canvas->Draw(0, 0, bmp2);
:
: delete bmp1;
: delete bmp2;
:
: 공부하는이 님이 쓰신 글 :
: : a그림은 데이터를 픽셀로 찍어서 만든 그림입니다.
: : b는 글자만 덮어 씌울 그림입니다.
: : c는 프로그램으로 덮은건데 그런 모양이 나옵니다.
: :
: : a그림을 그냥 그림 파일로 읽으면 상관없이 글자만 잘 써지는데
: : 픽셀로 찍은 그림은 검은색 배경까지 써지는 이유를 모르겠습니다.
: : 어떤이유가 있을까요?
: : 그럼 즐프 되세요
: :
: : 소스는 다음과 같이 했습니다.
: : b그림을 마스크 해서 글자만 만들고
: : MaskImg->Picture->Bitmap->Mask(clBlack);
: :
: : StretchBlt(Image1->Picture->Bitmap->Canvas->Handle, 20, 40, MaskImg->Width, MaskImg->Height,
: : MaskImg->Picture->Bitmap->Canvas->Handle, 0, 0, MaskImg->Width, MaskImg->Height, SRCAND);
: : StretchBlt(Image1->Picture->Bitmap->Canvas->Handle, 20, 40, Image2->Width, Image2->Height,
: : Image2->Picture->Bitmap->Canvas->Handle, 0, 0, Image2->Width, Image2->Height, SRCINVERT);
|