Home » Thư viện » Thư viện HTML » Thư viện thuộc tính HTML » getImageData() trong Canvas
Ví dụ và cách sử dụng phương thức getImageData() để trả về 1 đối tượng ImageData đã được sao chép dữ liệu về từng pixel trong hình chữ nhật.

getImageData() trong Canvas

Demo

Trình duyệt hỗ trợ

Số trong bảng dưới đây thể hiện phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ cho thuộc tính.

Thuộc tính Icon Chrome Icon FireFox Icon IE Icon Safari Icon Opera
getImageData() 4.0 2.0 9.0 3.1 9.0

Định nghĩa và cách sử dụng

Phương thức getImageData() trả về một đối tượng ImageData đã được sao chép dữ liệu về từng pixel trong hình chữ nhật trên canvas.

Lưu ý: Đối tượng ImageData không phải là một bức ảnh mà nó chỉ là một phần (hình chữ nhật) trên canvas và lưu trữ thông tin về từng pixel trong hình chữ nhật đó.

Mỗi pixel trong đối tượng ImageData có chứa 4 thông tin, thông tin đó chính là giá trị RGBA:

R – Màu đỏ (từ 0-255)
G – Màu xanh lá cây (từ 0-255)
B – Màu xanh da trời (từ 0-255)
A – Độ mờ (từ 0-255; 0 là trong suốt và 255 là hiển thị đầy đủ)

Thông tin về màu/độ mờ được chứa trong một mạng và được lưu trữ trong thuộc tính data của đối tượng ImageData.

Mẹo: Sau khi bạn có thông tin về màu/độ mờ trong mảng, bạn có thể sao chép dữ liệu này để hiển thị trên canvas bằng phương thức putImageData().

Ví dụ

Đoạn mã lấy thông tin màu/độ mờ của pixel đầu tiên trong đối tượng ImageData được trả về:

Mẹo: Bạn cũng có thể sử dụng phương thức getImageData() để đảo ngược màu từng pixel của ảnh trên thẻ canvas.

Để thay đổi màu sắc của từng điểm ảnh, bạn có thể sử dụng công thức sau:

Xem chi tiết ở ví dụ bên dưới

Cú pháp JavaScript:

Cú pháp JavaScript: context.getImageData(x,y,width,height);

Giá trị tham số

Tham sốMiêu tả
xTọa độ X (đơn vị đo là pixel) góc trên bên trái của điểm bắt đầu sao chép
yTọa độ Y (đơn vị đo là pixel) góc trên bên trái của điểm bắt đầu sao chép
widthChiều rộng của khu vực hình chữ nhật bạn muốn sao chép
heightChiều cao của khu vực hình chữ nhật bạn muốn sao chép

Ví dụ

Ảnh sử dụng:

The Scream

Sử dụng getImageData() để đảo ngược màu từng điểm ảnh của một bức ảnh trên canvas:

Trình duyệt của bạn không hỗ trợ thẻ canvas trong HTML5.

Code:

Demo

About admin

Leave a Reply

Your email address will not be published. Required fields are marked *

*