09/10/2018, 23:48

Vẽ hình với JS - save như file đồ họa ?

Tôi sử dụng thư viện JS Graphic của Walterzorn để làm 1 trang web cho phép vẽ hình. Tuy bản test thử vẫn còn ở dạng đơn giản, nhưng xin nêu câu hỏi với các bác trước đi là vừa, vì phần còn lại cũng không phức tạp lắm.

Về bản chất, các trang web cho phép vẽ hình (ko dùng JavaApplet hoặc flash) đều sử dụng JavaScript và CSS để tạo ra những phần tử HTML nhằm giả lập các điểm ảnh trong đồ họa bitmap. Do đó, chẳng hạn trên trang web của tôi, có thể lưu lại hình ảnh bằng cách ghi nhận những khác biệt về code HTML so với nguyên thể, sau đó save thành file text những nội dung được thêm bởi người sử dụng.

Nhưng liệu có cách khác không ? Chương trình nào cho phép bổ sung thư viện vào máy chủ Apache/PHP để chuyển cách hình ảnh vẽ trên web về dạng file đồ họa ? Bác nào có kinh nghiệm trong việc này, xin chỉ giáo.

jiSh@n viết 01:57 ngày 10/10/2018
Nếu đã có dữ liệu về hình ảnh thì có thể dùng GD để xuất ra file ảnh.
sacroyant viết 02:02 ngày 10/10/2018
Thì ý tôi hỏi là chỗ đó. Có cách nào upload hình ảnh lên server dưới dạng 1 file đồ hoạ. Hoặc là nếu cứ save code HTML tạo thành bức tranh đó, rồi đẩy lên server dưới dạng text, thì có chương trình nào phía server cho phép biến nội dung ấy thành dữ liệu hình ảnh không.

Xin bác cho cái tên đầy đủ của GD để tôi google.
3do viết 01:51 ngày 10/10/2018
để vẽ ảnh, có thể sử dụng các hàm trong PHP http://php.net/gd. Trong file text gửi về cung cấp các tham số của các đối tượng ảnh thì hoàn toàn có thể vẽ được.
sacroyant viết 01:56 ngày 10/10/2018
Ý của bác 3do rất hay, tôi hiểu rồi. Nghĩa là phải viết 1 chương trình để chuyển dữ liệu tạo ra bởi JS phía client (mã HTML) thành dạng mà PHP hiểu được phải không bác ? Chương trình này có thể bằng JS hoặc PHP tùy theo ta muốn thực thi chuyển đổi ở đâu. Khúc xương khó gặm quá
sacroyant viết 01:52 ngày 10/10/2018
Cảm ơn bạn rất nhiều.

Mình cũng thấy những file .doc chứa hình ảnh vẽ bằng công cụ Drawning khi save với định dạng html, thì có thể bắt gặp VML. Còn SVG và base64, nếu trình duyệt hiểu base64 thì dùng cái này có lẽ tốt hơn. Chắc phải dành thời gian nghiên cứu Mấy anh này mới làm nổi.

Đúng là thư viện mình dùng tạo ảnh theo dạng bitmap, các điểm ảnh chính là các thẻ div có kích thước 1x1 pixel. Lấy mã HTML không khó. Bạn xem thử ở đây, textArea bên phải là code HTML của ảnh, nếu save lại thành file HTML thì có thể tái hiện được tác phẩm. Thôi thì tạm dùng cách này trước đã.
Bài liên quan
0