|
안녕하세요 utime입니다.
JPEG파일을 바로 투명으로 하는 방법은 모르겠고( 있나? ㅡ,ㅡ;;; )
제가 아는 방법으로 알려드리죠.
우선 폼에 Image1, Button1 이 있다면
bool __fastcall TForm1::LoadJpg(const AnsiString fName, Graphics::TBitmap * bmp)
{
TJPEGImage *jpg;
jpg = new TJPEGImage();
try
{
jpg->LoadFromFile( fName );
}catch( Exception *e )
{
Application->MessageBox(e->Message.c_str(), "Jpeg Open Error", MB_OK+MB_ICONWARNING);
delete jpg;
jpg = NULL;
return false;
}
Image1->Width = jpg->Width;
Image1->Height = jpg->Height;
bmp->Width = jpg->Width;
bmp->Height = jpg->Height;
bmp->Canvas->Draw(0,0, jpg);
bmp->Transparent = True;
bmp->TransparentColor = bmp->Canvas->Pixels[0][0]; // 여기서 Color 값 정하기
bmp->TransparentMode = tmAuto;
delete jpg;
jpg = NULL;
return true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TOpenDialog *op;
AnsiString fName;
op = new TOpenDialog(this);
op->DefaultExt = GraphicExtension(__classid(TJPEGImage));
op->Filter = GraphicFilter(__classid(TJPEGImage));
if( op->Execute() )
fName = op->FileName;
delete op;
op = NULL;
Image1->Transparent = true;
if( FileExists( fName ) )
LoadJpg(fName, Image1->Picture->Bitmap);
}
//---------------------------------------------------------------------------
참고 되셨으면 좋겠습니다. ^^
조단비 님이 쓰신 글 :
: 제가 빌더 한지 얼마 안 됐는데요ㅠ
:
: JPEG이미지에 그림 빼고
:
: 나머지 흰색 바탕을 투명으로 하고
:
: 싶은데요 투명으로 할 수 있는 방법이 없을까요?
:
: 자세히 좀 가르쳐 주세요ㅠ
:
: 그럼 이만...
|