Cần chuyển đổi canvas HTML5 thành SVG để chỉnh sửa? Pointer sẽ được đánh giáPhương pháp chuyển đổi canvas HTML5 thành SVG?
Trả lời
canvas-svg cho phép bạn lưu 2d http://code.google.com/p/canvas-svg/ bạn có thể làm điều ngược lại với canvg http://code.google.com/p/canvg/
Xem thêm http://code.google.com/p/html5-canvas-svg/
Fabric.js quảng cáo có một "canvas-to-svg" phân tích cú pháp, và nó có một bản demo rõ ràng là converts canvas to SVG. Mặc dù các mục khác hoạt động nếu bạn sử dụng các điều khiển và sau đó "Rasterize canvas to" SVG, nó có vấn đề khi chuyển đổi hình ảnh mặc định, vì vậy bạn phải kiểm tra xem điều này có thực sự có khả năng chuyển đổi canvas thô thành SVG hay không nếu tạo các mục thông qua trình chỉnh sửa.
Hãy thử canvas2svg.js. [Demo]
Tôi tự mình điều hành và kết thúc bằng việc viết thư viện cho việc này. Vào thời điểm đó, các thư viện khác hơi thưa thớt hoặc không tạo SVG hợp lệ.
Khái niệm cơ bản là giống nhau. Bạn tạo ra một bối cảnh 2D giả lập và sau đó tạo ra một đồ thị cảnh SVG khi bạn gọi các lệnh vẽ canvas. Về cơ bản bạn có thể tái sử dụng cùng chức năng vẽ. Tùy thuộc vào ngữ cảnh nào bạn chuyển đến nó, bạn vẽ một canvas 2D chuẩn hoặc tạo một tài liệu SVG mà bạn có thể tuần tự hóa.
Bạn thực sự không thể "chuyển đổi" phần tử canvas được vẽ thành, vì nó chỉ là một ảnh bitmap, vì vậy hãy ghi nhớ điều đó. Khi bạn xuất sang SVG, bạn thực sự chỉ cần gọi lại cùng một chức năng vẽ bằng ngữ cảnh giả.
Vì vậy, như một ví dụ nhanh:
//create a canvas2svg mock context
var myMockContext = new C2S(500,500); //pass in your desired SVG document width/height
var draw = function(ctx) {
//do your normal drawing
ctx.fillRect(0,0,200,200);
//etc...
}
draw(myMockContext);
myMockContext.getSerializedSvg(); //returns the serialized SVG document
myMockContext.getSvg(); //inline svg
Tôi nghĩ rằng bức tranh đã phải vẽ một svg cho phương pháp này, nhưng tôi tìm thấy nó trong quá trình cố gắng để tạo ra một nút tải svg bản thân mình, cũng chạy vào câu hỏi tràn ngăn xếp này trong cùng một tìm kiếm cho rằng nó có thể có liên quan.
từ https://bramp.github.io/js-sequence-diagrams/
xung quanh dòng 200ish, nhưng ai mà biết được anh ta có thể chỉnh sửa trang web trong tương lai biên tập
chỉ là một phần tử div, và với mục đích của tiếng ồn này, anh ấy chỉ đóng gói những thứ các svg được tạo ra từ svg đã tải xuống.
diagram_div là canvas svg thực tế đang ngồi trong.
function(ev) {
var svg = diagram_div.find('svg')[0];
var width = parseInt(svg.width.baseVal.value);
var height = parseInt(svg.height.baseVal.value);
var data = editor.getValue();
var xml = '<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="' + width + '" height="' + height + '" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[' + data + ']]></source>' + svg.innerHTML + '</svg>';
var a = $(this);
a.attr("download", "diagram.svg"); // TODO I could put title here
a.attr("href", "data:image/svg+xml," + encodeURIComponent(xml));
}
- 1. chuyển đổi nhiều canvas thành dataURL trong html5
- 2. Ảnh để chuyển đổi Canvas/HTML5
- 3. Chuyển đổi svg thành json
- 4. Chuyển đổi HTML5 canvas để yếu tố IMG
- 5. HTML5 canvas thay đổi kích thước thành parent
- 6. Có cách nào để chuyển đổi các tệp SVG sang các lệnh tương thích với canvas của HTML5 không?
- 7. HTML5 canvas khung tiên tiến
- 8. "Chuyển đổi" XHTML 1.0 Strict thành HTML5
- 9. Chuyển động jpeg trong html5 canvas
- 10. Html5 Canvas Limitations
- 11. Cách chuyển đổi chuỗi SVG thành jpg bằng Inkscape
- 12. "Xóa" trong html5 canvas
- 13. Chuyển đổi SVG thành PDF (svglib + reportlab không đủ tốt)
- 14. Một thư viện để chuyển đổi svg thành hình ảnh?
- 15. Chuyển đổi SVG sang PNG trong Ruby
- 16. Có tương đương với phương pháp toDataURL của canvas cho SVG không?
- 17. Hoạt ảnh SVG hoặc Canvas?
- 18. HTML5 canvas "đặt lại" fillStyle
- 19. SVG vào Canvas với d3.js
- 20. readimageblob: Lỗi nghiêm trọng khi chuyển đổi SVG thành PNG
- 21. chuyển đổi pdf với bitmap 300dpi thành svg
- 22. Chuyển đổi đường dẫn SVG thành các lệnh tuyệt đối
- 23. Chuyển đổi đường dẫn SVG thành các lệnh tương đối
- 24. html5 canvas strokeStyle?
- 25. Ưu điểm và nhược điểm của HTML5 Canvas so với SVG + Raphael.js là gì?
- 26. Chuyển đổi ứng dụng Legacy ASP.NET thành MVC3 và HTML5
- 27. HTML5 Canvas ảnh Scaling Issue
- 28. Kịch bản để chuyển đổi nhiều hình ảnh SVG thành tệp phông SVG
- 29. HTML5 Canvas eraser
- 30. HTML5 Canvas: Phóng to
Cám ơn thư viện. Tôi có thể sử dụng nó cho canvas đã tạo trên trang không? Tôi muốn thực hiện nó với trình soạn thảo văn bản canvas Carota và chuyển văn bản của tôi sang SVG. –
Không thực sự. canvas2svg thay thế các phương thức vẽ thông thường. –
Điều này thật tuyệt vời! Tôi đã vẽ biểu tượng hành động trình duyệt của tiện ích Chrome của mình bằng cách sử dụng khung HTML và đang tìm cách tạo phiên bản SVG mà không sao chép mọi thứ. Cảm ơn bạn! –