2011-08-16 1 views
5

Tôi cần vẽ văn bản trong canvas, nhưng triển khai fillText hiện tại sẽ làm quá nhiều tính năng mà tôi cần (như có thể vẽ nhiều đường).Vẽ văn bản trong canvas

Vì tôi cần phải sao chép các pixel từ canvas sau này, nó phải được vẽ trong canvas, nó không thể là phần tử span trên canvas.

Có thể làm cho nó có thể chỉnh sửa là dấu cộng, nhưng không bắt buộc.

Có thư viện nào cung cấp các tính năng nâng cao để vẽ văn bản trong canvas không? (Nó phải làm việc ít nhất là trên IE9, Firefox, Chrome và Opera)

+0

[Fabric.js] (http://kangax.github.com/fabric.js/demos/kitchensink/) đã hỗ trợ cho nhiều dòng văn bản, và các tùy chọn văn bản khác nhau (in nghiêng, gạch dưới, đột quỵ, bóng) – kangax

Trả lời

0

Tôi chỉ biết về số FLOT Canvas Text plugin for jquery.

Nhưng nếu tôi là bạn tôi vẫn sẽ làm điều đó với một số <span> vì sau đó nó sẽ là Công cụ tìm kiếm thân thiện. Bạn có thể dễ dàng lấy văn bản của một phần tử span (hoặc hầu hết) bằng cách sử dụng element.innerHTML hoặc element.innerText tùy thuộc vào đối tượng. sau đó bạn có thể xử lý/vượt qua điều đó. ví dụ. cho một khoảng như

<span id="myspan"> lorem ipsum </span> 

tôi có thể nói

spanText = document.getElementById("myspan").innerText; 
+0

Tôi sẽ xem xét nó. Giới thiệu về , như tôi đã nói, nó phải được hiển thị trong canvas, bởi vì canvas sẽ được tải lên một dịch vụ hình ảnh. –

+0

Có một plugin: HTMLtoCanvas (http://html2canvas.hertzen.com/). Bạn chuyển nó DOM và nó phân tích nó và tạo một ảnh chụp nhanh cục bộ bằng cách sử dụng chỉ javascript. Sau đó, bạn có thể gửi ảnh chụp màn hình từ canvas, Mặc dù với tôi, điều đó sẽ có ý nghĩa hơn khi làm toàn bộ vấn đề serverside để bắt đầu với – mrBorna