2010-05-02 65 views
10

Tôi đang cố gắng tạo dấu trang. Nhưng tôi bị mắc kẹt tại một điểm. Tôi cần trích xuất RGB hoặc giá trị màu của hình ảnh có độ phân giải rất x pixel bằng cách sử dụng câu lệnh "For Next". Nhưng tôi không biết chức năng nào có thể giúp tôi trích xuất giá trị RGB. Ai đó có thể xin vui lòng giúp tôi với chức năng mà nói với giá trị của RCG của một điểm nhất định trong một bức tranh?cách lấy giá trị RGB của hình ảnh trong một trang bằng javascript?

+0

Câu hỏi này có vẻ trùng lặp: http://stackoverflow.com/questions/934012/get-image-data-in-javascript –

Trả lời

2

Bạn có thể use a canvas.

+0

Cảm ơn bạn rất nhiều. Tôi nghĩ rằng các liên kết sẽ giúp tôi. Cảm ơn bạn rất nhiều –

5

Đây là một câu hỏi khó. Không có phương pháp nào tôi biết trong DOM chuẩn sẽ cho phép bạn trích xuất giá trị RGB của pixel trong một <img>.

Tuy nhiên, nếu bạn sẵn sàng đào sâu vào HTML5, bạn có thể tận dụng lợi thế của <canvas> element. Bạn có thể tải hình ảnh vào canvas (.drawImage()) và sau đó nhận giá trị RGB bạn đang tìm kiếm (.getImageData(); xem liên kết trong câu trả lời SLaks ’). Tất nhiên, điều này sẽ không hoạt động trên IE8 vì nó không hỗ trợ <canvas>.

Một tùy chọn thay thế có thể là thực hiện cuộc gọi AJAX đến dịch vụ web để nhận dữ liệu pixel. Kịch bản phía máy chủ có thể tải hình ảnh, nhận các giá trị RGB và trả lại nó dưới dạng JSON cho bookmarklet của bạn. Điều này rõ ràng là thêm độ trễ của một chuyến đi tới máy chủ, nhưng tương thích hơn. (Tuy nhiên, hãy xem xét các vấn đề tên miền chéo.)

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