|
답변 감사드립니다^^
슬.강슬기 님이 쓰신 글 :
: 허접한 답변이 되겠지만...
: 한번의 그리기로 해결하기는 어려울것 같네요..
: 그려졌던 데이터를 저장하는건
: 따로 데이터를 관리하는 클래스나, 컨테이너를 사용하시고,
: 화면이 다시 그려질때마다 최신의 데이터를 읽어와 렌더링 하는 식이면 수월할 것 같네요..
: Canvas 가 생각보다 느리진 않을겁니다.
:
: 길지 않은 글이었지만 요약하면...
: 1. Canvas에 그려질 데이터들 관리.
: 2. 화면이 다시 그려질때 최신의 데이터만 Canvas에 그린다.
:
: > 물론 Canvas를 복사 할 수 있는 방법은 "여러가지가" 있습니다.
:
: 쩡이 님이 쓰신 글 :
: : 안녕하세요? 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");
|