2014-05-23 2 views
1

나는 캔버스 요소의 내부에 회전 가능한 원형 문자 같은 것을 생성하는 kineticJS를 사용하여 프로젝트에서 일하고 있어요 후에 사라졌다.KineticJS은 : 캔버스 크롬 업데이트

마지막 크롬 업데이트가 출시 될 때까지 모든 것이 잘 작동했습니다. 버전 35.0.1916.114로 업데이트 한 이후 Chrome의 캔버스가 비어 있습니다. 개발자 콘솔에서 코드를 보면 높이가 0으로 설정된 생성 된 너비를 볼 수 있습니다.이 값을 볼 수있는 크기로 변경하면 xD가 적용되지 않습니다. 그래서 캔버스 내부의 내용은 숨겨져 있지만 생성되지는 않습니다.

누구도 업데이트 이후에 동일한 문제가 있습니까? 크롬 팀이 이와 같은 생각을 가질만한 것을 바꿨습니까? (나는 .. 지금까지 변경 로그에서 확실한 뭔가를 발견하지 않았습니다)

+0

를 사용하는 kineticJS 버전 (아니 매우 기술적 인 설명은 내가 알고 있지만 나를 위해 작동 ...)? – Cobaltway

+0

kineticJS 4.3.0. nzn의 솔루션이 작동합니다. 고마워요! – TiPE

답변

2

경고 :이 나를 위해 일한 시행 착오 솔루션입니다! 나는 이것이 틀릴 수 있기 때문에 내부 구조를 이해하지 못한다. 클래스 Path2D (자세한 여기에서 찾을 : http://www.rgraph.net/blog/2014/march/an-example-of-html5-canvas-path2d-objects.html를) 크롬의이 새로운 버전은 캔버스 객체의 새로운 형태를 구현하고 라인 3849 주위에 운동의 코드에서, 문맥의 스트로크 기능을 덮어 쓰고 소요 라인 그리는 방법 (stroke)이 있습니다 컨텍스트 자체를 매개 변수로 사용합니다. 일부 디버깅을 마친 후에 그 부분이 멈추는 것을 발견했습니다. 크롬 35은 매우 도움이되지 않는 오류가 발생하지만, 카나리아 년에는

'CanvasRenderingContext2D'에 '뇌졸중'을 실행하지 못했습니다 말한다 : 매개 변수 1 유형이 아닌 '클래스 Path2D'

을 그리고 있기 때문에 행복하지 않다 매개 변수로 전달 된 컨텍스트 (아래 참조)는 CanvasRenderingContext2D 개체이며이 새로운 버전의 Chrome은 Path2D 개체 만 사용합니다. 운동은 매개 변수로 컨텍스트를 필요로하는 이유는 모른다 (어쩌면 나 : 새로운 크롬은 마지막으로 요청한 모양 무승부를 렌더링하는 이유)하지만 당신은 (3849 라인 주위에 운동 4.0.0) 라인 변경하는 경우 :

context.stroke(context); 

to

try{ 
     context.stroke(context); 
} catch(e) { 
     context.stroke(); 
} 

입니다. 당신이