2013-01-04 62 views
10

Tôi đang sử dụng html2canvas để tạo 'ảnh chụp màn hình' của trang HTML có chứa SVG. Mọi thứ đều tốt, ngoại trừ phần tử. Tôi biết rằng có thể hiển thị SVG trong Canvas; PhantomJS, fabric.js và CanVG làm điều đó.html2canvas có thể hiển thị svg trong một trang không?

Đây có phải là điều mà html2canvas không hỗ trợ không? Hoặc tôi đang làm điều gì đó sai, và điều này chỉ nên làm việc?

Nếu điều này chưa được triển khai, cách tốt nhất để mở rộng html2canvas (sử dụng canvg) là gì?

+0

Tôi tìm thấy câu trả lời của mình (hoặc, Google đã làm): [ở đây] (https://github.com/niklasvh/html2canvas/issues/95). – rakensi

Trả lời

10

Chụp ảnh SVG hoạt động bằng cách chuyển chúng thành canvas, sử dụng canvg. Bao gồm cả tệp javascript như được chỉ ra trên trang đó. Sau đó, cách dễ nhất để thực hiện việc này là:

<body onload="canvg()"> 

Xem parameterless call example. Khi tất cả hình ảnh SVG đã được chuyển đổi, html2canvas hoạt động hoàn hảo.

Tất nhiên, tất cả hình ảnh SVG sẽ được chuyển thành canvas, nhưng tôi không thấy sự khác biệt.

Các vấn đề liên quan