Trang Chủ Xã hội Truyền thông Làm thế nào để Thao tác Pixel với Thẻ Canvas HTML5

Làm thế nào để Thao tác Pixel với Thẻ Canvas HTML5

Video: Bài 2 - Pixel là gì? 2025

Video: Bài 2 - Pixel là gì? 2025
Anonim

Với HTML5, bạn có thể trích xuất dữ liệu của một thẻ canvas vào dữ liệu pixel cơ bản. Thao tác dữ liệu này cho phép bạn kiểm soát rộng rãi hình ảnh của bạn trong thời gian thực. Bạn có thể sử dụng dữ liệu này để cân bằng màu sắc cũng như để thử nghiệm các hiệu ứng mờ, sắc nét, và hiệu ứng màu-đen của chính bạn.

Không có vấn đề gì định dạng một hình ảnh được lưu giữ trong hệ thống tập tin, nó được hiển thị như là một danh sách các điểm ảnh. Mỗi pixel được đại diện (trong hệ thống 32-bit tiêu chuẩn, dù sao) bởi bốn số nguyên: RGBA. Các R đại diện cho bao nhiêu màu đỏ là trong các dấu chấm hiện tại, G là viết tắt của màu xanh lá cây, và B là viết tắt của màu xanh lam. Chữ A là viết tắt của alpha, , là thước đo tính minh bạch của hình ảnh. Mỗi giá trị có thể thay đổi từ 0 đến 255. Khi bạn chuyển đổi một hình ảnh sang định dạng dữ liệu hình ảnh, bạn sẽ nhận được một mảng số nguyên lớn. Mỗi nhóm bốn hình ảnh đại diện cho một pixel đơn dữ liệu màu.

Mã này thay đổi cân bằng màu sắc của một hình ảnh:

function draw () {var drawing = document. getElementById ("bản vẽ"); var con = bản vẽ. getContext ("2d"); var original = tài liệu. getElementById ("bản gốc"); CANV_WIDTH = 200; CANV_HEIGHT = 200; / / vẽ ban đầu trên con vải. drawImage (bản gốc, 0, 0); // lấy dữ liệu hình ảnh imgData = con. getImageData (0, 0, 200, 200); // vòng lặp thông qua dữ liệu hình ảnh cho (hàng = 0; hàng  255) {r = 255;} if (r 255) {g = 255;} if (g 255) {r = 255;} Nếu (a> 255) {a = 255;} if (a <0) {a = 0;} // Trả về giá trị mới để dữ liệu imgData. dữ liệu [chỉ số] = r; imgData. data [index + 1] = g; imgData. dữ liệu [chỉ số + 2] = b; imgData. dữ liệu [index + 3] = a;} // end col for loop} // end row cho vòng lặp // vẽ hình ảnh mới lên canvas con. putImageData (imgData, 0, 0);} // end function

Mặc dù danh sách mã dường như khá dài, nhưng thực sự không phải là quá khó để làm theo:

  1. Vẽ một hình ảnh ban đầu.

    Kỹ thuật bạn sẽ sử dụng chiết xuất dữ liệu từ phần tử canvas, do đó, để sửa đổi một hình ảnh, trước tiên bạn cần vẽ nó lên một bức tranh. Bạn có thể sử dụng phương thức drawImage () thông thường.

  2. Trích xuất dữ liệu hình ảnh.

    Phương thức getImageData () nhận được hình ảnh được hiển thị bằng khung hiện tại và đặt nó vào một mảng lớn các số nguyên.

  3. Thực hiện một vòng lặp để xử lý các hàng.

    Dữ liệu hình ảnh được chia thành các hàng và cột. Mỗi hàng đi từ 0 đến chiều cao của vải, vì vậy tạo một vòng lặp lặp để lặp qua các hàng.

  4. Thực hiện một vòng lặp để xử lý các cột.

    Bên trong mỗi hàng là đủ dữ liệu để đi từ 0 đến chiều rộng của vải, nên làm cho một giây cho vòng lặp bên trong đầu tiên.Thông thường, sử dụng một cặp nested cho các vòng lặp để thực hiện qua dữ liệu hai chiều như thông tin hình ảnh.

  5. Tìm chỉ mục trong imageData cho hàng và cột hiện tại.

    Mảng imageData chứa bốn số nguyên cho mỗi pixel, vì vậy chúng ta phải làm một phép toán nhỏ để tìm ra vị trí số nguyên đầu tiên của mỗi pixel. Công thức dễ nhất là nhân số hàng bằng chiều rộng của khung vẽ, thêm vào cột số, và nhân toàn bộ kết quả cho 4.

  6. Kéo các giá trị màu tương ứng từ chỉ mục.

    Chỉ số cũng đại diện cho giá trị màu đỏ của pixel hiện tại. Các int tiếp theo giữ giá trị màu xanh lá cây, tiếp theo là giá trị màu xanh, và cuối cùng là giá trị alpha.

  7. Thao tác các giá trị màu như bạn muốn.

    Nếu bạn định làm một ứng dụng cân bằng màu, bạn chỉ cần thêm hoặc xóa các giá trị để thay đổi cân bằng màu sắc tổng thể. Bạn cũng có thể làm nhiều công việc phức tạp hơn nếu bạn muốn chơi xung quanh với thao tác hình ảnh cấp độ ảnh.

  8. Kiểm tra các ranh giới.

    Giá trị pixel không được thấp hơn 0 hoặc cao hơn 255, do đó kiểm tra cả hai ranh giới này và điều chỉnh tất cả các giá trị pixel nằm trong giới hạn pháp lý.

  9. Trả lại các giá trị được thao tác trở lại mảng imgData.

    Bạn có thể sao chép các giá trị trở lại mảng, và bạn nên làm như vậy để làm cho các thay đổi có thể nhìn thấy được.

  10. Vẽ dữ liệu hình ảnh trở lại khung ảnh.

    Hàm putImageData () rút ra dữ liệu hình ảnh hiện tại trở lại khung ảnh làm hình ảnh bình thường. Phiên bản mới của hình ảnh sẽ phản ánh những thay đổi.

Làm thế nào để Thao tác Pixel với Thẻ Canvas HTML5

Lựa chọn của người biên tập

Nhúng tệp Video và Audio vào các trang Web của bạn để có kết quả SEO tốt hơn - những núm vú

Nhúng tệp Video và Audio vào các trang Web của bạn để có kết quả SEO tốt hơn - những núm vú

Nếu bạn muốn bao gồm nội dung video và âm thanh trong các trang Web của mình, bạn có thể nhúng các tệp này để làm cho chúng thân thiện hơn với SEO. Bạn cũng nên chọn nội dung tăng cường thông điệp của trang web và làm cho nó thêm thú vị và có ý nghĩa với khách truy cập của bạn. Một số trang web cung cấp các tệp video hoặc âm thanh bằng cách hiển thị chúng trong ...

Loại trừ một trang web hoặc trang web khỏi các công cụ tìm kiếm Sử dụng một tệp tin văn bản Robots

Loại trừ một trang web hoặc trang web khỏi các công cụ tìm kiếm Sử dụng một tệp tin văn bản Robots

Bạn có thể sử dụng tệp văn bản rô-bốt để chặn một nhện công cụ tìm kiếm khỏi thu thập thông tin trang Web hoặc một phần của trang web của bạn. Ví dụ, bạn có thể có một phiên bản phát triển của trang Web nơi bạn làm việc về những thay đổi và bổ sung để kiểm tra chúng trước khi chúng trở thành một phần của trang Web trực tiếp của bạn. ...

Lựa chọn của người biên tập

Nhìn vào các ngày lễ Công giáo - những con voi

Nhìn vào các ngày lễ Công giáo - những con voi

Một điều rất hay về Đạo Công giáo là nhiều ngày trong năm dương lịch là một nguyên nhân cho lễ kỷ niệm. Gần như mỗi ngày đánh dấu ngày lễ của một vị thánh - một ngày mà cuộc đời thánh thiện và những việc làm của thánh nhân được ghi nhớ. Một số ngày là ngày lễ của nghĩa vụ, có nghĩa là bạn phải tham dự ...

Sách Khải Huyền Đối với Người Dummies Cheat Sheet - núm vú

Sách Khải Huyền Đối với Người Dummies Cheat Sheet - núm vú

Nếu bạn bị cuốn hút bởi Sách Khải Huyền trong Kinh Thánh, đừng bận tâm. Hãy xem cấu trúc cơ bản của Sách Khải Huyền; các giải thích chính của nó; những quan điểm khác nhau về Vương quốc ngàn năm đã đề cập trong Khải huyền 20; và những sự kiện quan trọng đã tạo nên Giăng cho Vị Tông Đồ và bài viết của ông. Bằng cách làm như vậy, bạn sẽ tốt hơn ...

Hồng y Các Giáo lễ của Giáo Hội Công Giáo - Thập niên

Hồng y Các Giáo lễ của Giáo Hội Công Giáo - Thập niên

Một đức tính là thói quen hoàn thiện quyền hạn của linh hồn và định đoạt bạn làm tốt. Người Công giáo tin rằng ân sủng của Thiên Chúa được dâng lên cho linh hồn, bởi vì nếu không có sự giúp đỡ của Đức Chúa Trời, con người không thể làm điều tốt một mình. Grace, đó là sự can thiệp của Thiên Chúa, nâng đỡ linh hồn của một người, cung cấp oomph cần thiết để làm việc.

Lựa chọn của người biên tập

Làm thế nào để Khởi động lại Web Host Manager Services của bạn - núm vú

Làm thế nào để Khởi động lại Web Host Manager Services của bạn - núm vú

Vẻ đẹp của máy chủ web là mỗi chức năng chính của nó có "dịch vụ" của riêng bạn mà bạn có thể khởi động lại. Một dịch vụ là một phần của phần mềm - một chương trình chạy trên máy chủ xử lý một chức năng cụ thể. Nếu một trong các dịch vụ ngừng hoạt động chính xác, bạn không nhất thiết phải khởi động lại ...

Làm thế nào để Hủy bỏ Website của bạn từ một Blacklist - núm vú

Làm thế nào để Hủy bỏ Website của bạn từ một Blacklist - núm vú

Tên miền hoặc miền địa chỉ IP của bạn bị liệt vào danh sách đen khi phát hiện thư rác. Nếu trang web của bạn đã bị cấm, có thể đó không phải là lỗi của bạn - đặc biệt nếu bạn đang ở trên một máy chủ chia sẻ. Có thể một trang web khác trên máy chủ đã cố tình gửi spam. Nó cũng là ...

Cách Quản lý Trình Quản lý Máy chủ Web của bạn Hàng đợi Thư - núm vú

Cách Quản lý Trình Quản lý Máy chủ Web của bạn Hàng đợi Thư - núm vú

Với quyền truy cập vào phụ trợ của máy chủ của bạn, bạn cũng có thể truy cập vào một số chức năng của Trình quản lý Máy chủ lưu trữ Web trước đây không có sẵn cho bạn. Cuộn xuống trình đơn bên tay trái của WHM để tìm phần được gọi là Thư gần cuối. Trong phần này, có những lựa chọn có thể hữu ích cho bạn nếu ...