2011-08-27 43 views
5

Vì vậy, tôi đã tạo ứng dụng vẽ thời gian thực này với canvas node.js, socket.io và html5. Mỗi điểm ảnh mà con chuột được di chuyển trong khi nhấp được theo dõi và phát sóng (để hiển thị đầu vào bản vẽ trên các máy tính khác).Cách lưu trạng thái canvas thành db?

Tôi biết có thể lưu hình ảnh của canvas nhưng canvas này rất lớn (10000x10000 pixel). Ngay bây giờ, khi trang được làm mới tất cả các bản vẽ đã biến mất (vì nó chỉ là gửi qua một ổ cắm, không có gì được lưu).

Tôi muốn lưu tất cả dữ liệu canvas vào một db và sau đó bằng cách nào đó viết lại nó khi trang được tải lại, nhưng nó đơn giản là quá nhiều. Làm thế nào bạn sẽ đi về việc này?

Trả lời

1

Bạn có thể theo dõi các lần nhấp và di chuyển chuột làm cho canvas trông như vậy trong khi bạn gửi chúng qua ổ cắm và mô phỏng chúng để tạo lại hình ảnh.

+0

Đó sẽ là mục nhập cơ sở dữ liệu cho mỗi pixel đơn của cú đánh chuột sau một mili giây. Tôi không chắc chắn nếu điều đó thậm chí có thể. Tôi cần một phương pháp hiệu quả hơn. – sdfadfaasd

+1

@Alley bạn không phải gửi từng đơn lẻ trong số đó mỗi mili giây. Bạn có thể viết chúng vào db cứ sau vài giây hoặc lâu hơn, và có thể, nếu bạn không nhớ mất chất lượng, chỉ giữ một pixel mỗi vài lần và giả sử chúng có các đường nối chúng (nghĩ rằng kết nối các dấu chấm). –

+0

Hmmm, bạn có nghĩ rằng thậm chí có thể hoạt động trên một mạng lưới cực lớn không? – sdfadfaasd

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