2011-02-01 5 views
1

캔버스를 움직이거나 크기를 조정할 때 내부의 모든 내용이 지워집니다. 나는 C#에서 Windows 양식 응용 프로그램에서 비슷한 문제가 발생한 것을 기억합니다. 어쨌든, 그래픽이 움직 인 후에도 캔버스에 그래픽을 유지하는 가장 좋은 방법은 무엇입니까? (자바 스크립트 사용)html5 캔버스 "그래픽 지속성"위치 변경/크기 조정

저는 캔버스와 웹 소켓을 사용하여 페인트 작업을하고 있습니다. 여기 내 문제를 볼 수 있습니다 : http://students.info.uaic.ro/~tudor.berechet/ (단지 Coboards로 가서 브러시 도구를 선택하고 캔버스에 여러 번 클릭 한 다음 크기를 조정하십시오. 창 또는 캔버스 확대)

내 HDD에서 사이트를 실행하는 것으로 나타났습니다 한가지 더,이 문제가 발생하지 않습니다. 어딘가에 이상한 오류가 있는지 궁금합니다. 나는거야 주위를 이동하는 손 도구를 구현해야이기 때문에

나는 확실히 당신이 무슨 말을

... 영구 캔버스를해야합니까?

+0

좋은 아이디어 :) 크롬은 잘 작동하고 파이어 폭스는 오류를 던졌습니다 'WebSocket이 정의되지 않았습니다 [이 오류에서 브레이크] this._connection = new WebSocket ("w .... 203.207.144 : 8005"); // alert ("asdf"); @line : 95' –

+0

고맙습니다. Firefox는 아직 WebSocket을 지원하지 않으며 Firefox 4.x도 지원하지 않습니다. 나는 브라우저와 그 밖의 것들을 알아 내야 할 것이다. 하지만 내가 말한 문제가 발생 했지, 그렇지? – Spectraljump

+0

Chrome 10.0,648.11을 사용하고 있습니다. 나는 coborads에 전혀 페인트 칠 할 수 없다 ... – Omiod

답변

0

문제는 내 코드를 정리 한 후에 사라진 것처럼 보입니다. 나는 여전히 그 원인을 알지 못하지만 캔버스를 옮기거나 크기를 조정 한 후에도 캔버스 그림이 그대로 남아있는 것으로 보입니다.

확인해주십시오. [편집] 확인했습니다.

요점은 캔버스 그래픽이 지속되지 않는다는 내 원래의 가정은 잘못된 것 같습니다. 내 캔버스를 "지우는"오류가있을 수 있습니다.

+0

캔버스의 크기를 조정하는 방법에 대한 자세한 내용을 제공해 주시겠습니까? 나는 지금 당장 같은 문제에 직면 해있다. 나의 코드는 특별한 것이 아니다 ('canvas.width = newvalue; canvas.height = newvalue;'). 새 값은 이전 값보다 커야하기 때문에 캔버스가 확장됩니다. 불행히도 크기가 조정 된 후 흰색 직사각형으로 지워집니다. Chrome 및 Safari에서 테스트되었습니다. – Stan

+0

이 대답은 잘못되었습니다. 질문에는 몇 가지 중복이 있습니다 (예 : http://stackoverflow.com/questions/5517783/preventing-canvas-clear-when-resizing-window 및 http://stackoverflow.com/questions/3543358/resizing-a-html). -canvas-blanks-its-contents. 이 답변에 따르면 크기 조정 중에 캔버스가 지워지고 그 내용은 추가 코딩으로 도면을 저장하고 복원하여 보존 할 수 있습니다. – Stan