이 문제로 많은 사람들이 싸우는 것을 보았지만 적절한 해결책을 찾지 못하거나 필요에 맞는 해결책을 찾을 수 없습니다.Raphael 용지 결과를 모든 브라우저 (이전 IE 포함)에서 PNG/SVG로 변환하는 방법이 있습니까?
저는 Raphael에서 차트를 사용하고 있습니다. 기본적으로 PNG로 가져와야합니다 (내보내기 용 또는 나중에 PDF 용 및 기타 자료 용). Firefox, Chrome, IE 9 및 SVG를 지원하는 다른 브라우저는 쉽습니다. 실제로 그것을 구현하는 두 가지 방법이 있습니다. canvg를 사용하여 SVG를 캔버스 요소로 렌더링 한 다음 이미지 데이터를 가져옵니다. 또는 SVG를 서버 (C#)에 보내고 라이브러리를 사용하여 래스터 화합니다.
문제는 IE 8과 7입니다.이 브라우저에서 Raphael은 VML을 출력하고 SVG 소스를 가져 오는 방법이 없습니다. VML 래스터 라이저를 찾을 수 없기 때문에 VML을 SVG로 변환하거나 SVG에서 다시 그리기 만하면됩니다.
실제로 VML을 SVG로 변환하기 위해 실제로 XSLT 변환을 사용하는 PHP 변환을 확인했지만 작동하지 못했습니다. XSL을 테스트 할 여러 도구를 시도했지만 어느 것도 작동하지 않습니다.
속성을 .type
, .svg
및 .vml
으로 바꿔서 Raphael이 SVG를 숨겨진 div에 출력하도록했지만 그 중 하나가 작동하지 않았습니다.
IE에서 숨겨진 DIV에 SVG 트리를 쓰는 방법이있을 것이라고 생각합니다. 사실 브라우저에 표시되지는 않지만 텍스트가 있어야합니다.
누구나 달성 방법을 알고 있습니까? 감사!
"브라우저가 구식이므로이 페이지를 사용하도록 업데이트하십시오."Internet Explorer 9을 다운로드하려면 여기를 클릭하십시오. –
잘 모르겠습니다. 솔루션에 어떻게 들어 맞을지 모르지만이 도움말과 같은 것이 있습니까? https://github.com/jspies/raphael.serialize 적어도 종이에있는 것을 일관되게 볼 수 있고 다른 곳에 이미지를 만들 수 있습니다. . – oli
또한보십시오 : http://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/ 두 가지를 결합하면이를 달성 할 수 있습니다. – oli