|
TImage는 Parent 지정이 필요한 컴포넌트입니다.
문제는 아래와 같이 2가지 입니다.
void __fastcall TMainForm::ShowBGImage()
{
String sFileName="C:\\백그라운드.jpg";
TImage* ImageObj = new TImage(this);
ImageObj->Parent = this; // <--- 요 넘이 반드시 필요합니다.
ImageObj->Picture->LoadFromFile(sFileName);
// MainForm->Canvas->Draw(0, 0, ImageObj->Picture->Bitmap); // 사실 이건 필요없지요...
delete ImageObj; // <--- 이 녀석이 메모리 해제해서 그려진 그림을 지웁니다.
}
//---------------------------------------------------------
// 폼에 버튼 2개와 멤버변수로 TImage *ImageObj;를 헤더에 선언했습니다.
// 버튼1을 누르면 그리고 버튼 2를 누르면 지워버리겠지요
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String sFileName="C:\\01.jpg";
if(!ImageObj)
ImageObj = new TImage(this);
ImageObj->Parent = this;
ImageObj->Picture->LoadFromFile(sFileName);
ImageObj->Width = ImageObj->Picture->Width;
ImageObj->Height = ImageObj->Picture->Height;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
delete ImageObj;
ImageObj = NULL;
}
//---------------------------------------------------------------------------
이경준 님이 쓰신 글 :
: #include "Jpeg.hpp" 해주고
: 이렇게 했습니다.
:
: void __fastcall TMainForm::ShowBGImage()
: {
: String sFileName="C:\\백그라운드.jpg";
:
: TImage* ImageObj = new TImage(this);
: ImageObj->Picture->LoadFromFile(sFileName);
:
: MainForm->Canvas->Draw(0, 0, ImageObj->Picture->Bitmap);
: delete ImageObj;
: }
:
: * MainForm 은 PictureBox 입니다.
:
: Canvas에 달리 Jpeg 파일을 올리는 방도가 생각나질 안아 TImage 객체를 생성한다음 그객체에 Jpeg 파일을 올리고 PictureBox에 옯겼습니다.
: 컴파일 에러나 런타임 에러는 없으나 그림이 나오질 않네요. ㅠ.ㅠ
: 이를 어찌해야좋을지..
: 고수님들의 고견부탁드립니다!!
|