|
답변 감사드립니다...
CopyRect()로 복사/붙여넣기 하니 잘 되네요..
예전에 답변 달아준다고 사용했었는데... 왜 그랬징??
TRect pSize= Rect(0, 0, Image1->Width, Image1->Height);
TImage *pImage= new TImage(this);
pImage->Width = Image1->Width;
pImage->Height= Image1->Height;
Image1->Canvas->MoveTo ( 0, Image1->Height- 0);
Image1->Canvas->LineTo ( 50, Image1->Height-50);
pImage->Canvas->CopyRect(pSize, Image1->Canvas, pSize); //복사
Image1->Canvas->TextOut( 50, Image1->Height-50, "X50, Y50");
Image1->Canvas->CopyRect(pSize, pImage->Canvas, pSize); //붙어넣기
Image1->Canvas->MoveTo ( 50, Image1->Height-50);
Image1->Canvas->LineTo (100, Image1->Height-75);
Image1->Canvas->TextOut(100, Image1->Height-75, "X100, Y75");
delete pImage;
smleelms 님이 쓰신 글 :
: Image1외에 Image2를 하나 더 두신 다음에 Image2에는 라인만 그리시구요.
: Image2를 Image1에 복사하신 후에, 좌표를 입력하시고,
: 다시 Image2에 라인을 그리신 후, Image1을 지우시고 Image1에 Image2를 복사하신 후에 좌표를 입력하시고...
:
: 이런식으로 하시면 될듯한데요..
: 아.. 물론 Image2는 Visible을 false로 하시구요.
:
: 좀 무식하지만 제일 심플할듯 합니다만.. ^^;
:
: 쩡이 님이 쓰신 글 :
: : 안녕하세요? Canvas에 관해 질문드립니다.
: : Canvas위에 Line을 조금씩 그려나가면서 좌표를 TextOut으로 입력합니다.
: : 매번 그리면서 좌표는 하나만 남기고자 합니다.
: :
: : 그래서 텍스트 입력전에 Canvas 내용을 복사했다가,
: : 다음 라인 그리기 전에 덮어씌우기하는 방식으로 할려고 합니다.
: : FillRect() 하면 Brush가 그려지나요? 싹 지워지면서 초기화 되어버립니다.
: :
: : 그동안 그렸던 라인들까지 복사해야 할텐데 어떻게 해야할까요?
: : 목적은 텍스트만 지우는 것인데, 이리저리 해도 잘 안되네요.
: : 도움 좀 부탁드립니다...
: :
: :
: : TRect pRect;
: :
: : Image1->Canvas->MoveTo(0, 0);
: : Image1->Canvas->LineTo(50, 50);
: :
: : pRect= TRect(0, 0, 320, 240); //Text 입력전에 복사
: :
: : Image1->Canvas->TextOut(50, 50, "X50, Y50");
: :
: : Image1->Canvas->FillRect(pRect); //다음 Line그리기 전, 이전 복사한 것 다시 그리기
: :
: : Image1->Canvas->MoveTo(50, 50);
: : Image1->Canvas->LineTo(100, 75);
: : Image1->Canvas->TextOut(100, 75, "X100, Y75");
|