|
[원인]
TImage의 Canvas에 그림을 그리면
그냥 화면에 표시만 되는것이 아니라
TImage->Picture->Bitmap에도 그려집니다.(Bitmap이 변경됩니다.)
그런데 TImage->Picture->Graphic이 이미 있는 경우에는
그 Format이 Bitmap에 한하여 그려집니다.
만약 Jpg나 Png 등 다른 Format의 이미지가 올려진 상태라면
Canvas에 그릴때 에러가 납니다.
[해결방법]
1) TImage->Picture에 Bitmap포멧의 이미지를 올리세요
2) TImage->Picture에 Bitmap포멧이 아니니 이미지이면
RunTime에 Jpg=>Bmp 또는 Png=> Bmp 등으로 변환해서
TImage->Picture에 올리세요
그러면 Canvas에 그려집니다.
[문제점]
1) TImage에 Png이미지를 올렸을때 투명처리 같은것이 지원되지만
Canvas에 그림을 그리려면 Bitmap으로 밖에 할수 없으므로 투명처리같은것이 지원되지 않습니다.
2) DesignTime에 TImage에 Bitmap을 올리면 아무래도 Jpg등보다는 exe파일이 커지게 될것입니다.
그럼..
유일한나 님이 쓰신 글 :
: TImage 에서 이미지파일없을때,
:
: TCanvas *Check1 = Form1->Image1->Canvas;
: Check1->Ellipse(0,0,10,10);
:
: Canvas 이용해서 원이 그려집니다.
:
: 그러나.. 이미지파일을 넣어놓고 그위에 원을그리려고하니,
:
: TCanvas *Check1 = Form1->Image1->Canvas;
: 위의 문장에서 바로 에러가 떠버리네요..
:
: 어떻게 하면 좋을까요??
:
|