Hướng dẫn dùng filter grayscale trong PHP

filter có nghĩa là lọc sáng + màu sắc, giống như ý nghĩa filter trong nhiếp ảnh. Bằng cách sử dụng filter trên các phần tử - (chủ yếu sử dụng với phần tử ảnh) - giúp chúng ta biến đổi màu sắc và một số hiệu ứng trước khi phần tử đó được hiện thị.

Cú pháp sử dụng filter trong CSS như sau:

.myfilter {filter: các_hàm_filter}

Các hàm filter có thể sử dụng như brightness(), contrast() ... hoặc none để hủy bỏ filter, bạn có thể sử dụng cùng lúc nhiều hàm filter

Sử dụng các hàm Filter

Đây là ảnh gốc không có hiệu ứng filter, sau đó ta sẽ áp dụng một số hàm filter xem ảnh đó biến đổi ra sao:

Hướng dẫn dùng filter grayscale trong PHP

blur(kích_thước); Làm nhòe ảnh, ví dụ .myfilter { filter: blur(3px);}
Hướng dẫn dùng filter grayscale trong PHP
brightness(%); Thay đổi độ sáng .myfilter { filter: brightness(150%);}
Hướng dẫn dùng filter grayscale trong PHP
contrast(%); Thay đổi độ tương phản .myfilter { filter:contrast(200%);}
Hướng dẫn dùng filter grayscale trong PHP
drop-shadow(x y blur color); Đổ bóng phần tử, bóng dịch theo các tham số chiều ngang x, đứng y và màu đổ bóng. Ví dụ .myfilter { filter: drop-shadow(5px 10px 3px gray);}
Hướng dẫn dùng filter grayscale trong PHP
grayscale(%); Chuyển sang ảnh màu sám .myfilter { filter: grayscale(100%);}
Hướng dẫn dùng filter grayscale trong PHP
hue-rotate(deg); Chuyển màu ảnh của ảnh bằng cách xoay nó đến vị trí mới trong vòng tròn màu (ví dụ màu đỏ xoay 180 độ thành màu cyan), ví dụ .myfilter { filter: hue-rotate(180deg);}
Hướng dẫn dùng filter grayscale trong PHP
Hướng dẫn dùng filter grayscale trong PHP
invert(%); Đổi sang màu âm bản .myfilter {filter: invert(100%);}
Hướng dẫn dùng filter grayscale trong PHP
opacity(%); Hiệu ứng trong suốt (nhìn xuyên thấy nền - 0% trong suốt hoàn toàn) .myfilter { filter:opacity(70%);}

Hướng dẫn dùng filter grayscale trong PHP

saturate(%); Thay đổi cường độ màu, ví dụ .myfilter { filter:saturate(200%);}
Hướng dẫn dùng filter grayscale trong PHP
sepia(%); Đổi sang tông màu sepia - nâu cổ điển, ví dụ .myfilter { filter:sepia(200%);}
Hướng dẫn dùng filter grayscale trong PHP

Hướng dẫn dùng filter grayscale trong PHP

Đã đăng vào thg 10 22, 2019 3:26 CH 2 phút đọc

Điều chỉnh độ sáng và độ tương phản của hình ảnh, hoặc biến hình ảnh thành Grayscale hoặc Sephia là một tính năng phổ biến bạn có thể tìm thấy trong ứng dụng chỉnh sửa hình ảnh như Photoshop hoặc các ứng dụng chỉnh sửa ảnh trên smartphone. Nhưng giờ đây, các bạn có thể thêm các hiệu ứng tương tự vào hình ảnh trong trang web chỉ bằng CSS.

Những tính năng này có được là nhờ thuộc tính Filter Effects của CSS3. Vậy hãy thử xem có gì thú vị nào

Hướng dẫn dùng filter grayscale trong PHP

Các hiệu ứng

Áp dụng các hiệu ứng là rất dễ dàng. Hãy xem đoạn code dưới đây, để biến hình ảnh bình thường thành ảnh có hiệu ứng thang màu xám;

img {
   -webkit-filter: grayscale(100%);
}

Hướng dẫn dùng filter grayscale trong PHP

...và đoạn css dưới đây sẽ cho hiệu ứng nâu đỏ

img {
   -webkit-filter: sepia(100%);
}

Hướng dẫn dùng filter grayscale trong PHP

Cả hai value sepiagrayscale được tính theo tỷ lệ phần trăm, trong đó 100% là mức tối đa và 0% đồng nghĩa với việc sẽ giữ cho hình ảnh không bị thay đổi, nhưng khi không set giá trị cụ thể nào, giá trị mặc định sẽ là 100%.

Cũng có thể điều chỉnh độ sáng của hình ảnh bằng cách sử dụng brightness như sau:

img {
  -webkit-filter: brightness(50%); 
}

Hướng dẫn dùng filter grayscale trong PHP

Cả brightnesscontrast, khi set giá trị là 0% hình ảnh sẽ hoàn toàn bị che mờ và 100% thì hình ảnh sẽ như ảnh gốc.

Ngoài các giá trị từ 0-100%, có thể điều chỉnh độ tối sáng của hình ảnh theo cách dưới đây

img {
  -webkit-filter: brightness(-50%); 
}

..tương tự, chúng ta cũng có thể điều chỉnh độ tương phản hình ảnh theo cách này

img {
  -webkit-filter: contrast(200%); 
}

Hướng dẫn dùng filter grayscale trong PHP

Hơn nữa, chúng ta cũng có thể kết hợp nhiều value với nhau, chẳng hạn như trong ví dụ dưới đây. Lần lượt set grayscalecontrast: 50% cùng lúc.

img {
  -webkit-filter: grayscale(100%) contrast(150%); 
}

Cuối cùng, có một hiệu ứng nữa chúng ta có thể thử là Gaussian Blur, hiệu ứng này sẽ làm mờ hình ảnh đi.

img:hover {
  -webkit-filter: blur(5px); 
}

Hướng dẫn dùng filter grayscale trong PHP

Các bạn có thể xem qua bản demo ở đây:

Kết luận

Lưu ý: Thuộc tính này hiện tại được support ở hầu hết các browser, ngoại trừ IE 12 trở xuống

Hướng dẫn dùng filter grayscale trong PHP
. Các bạn có thể kiểm tra trình duyệt hỗ trợ tại đây.

Thực tế còn rất nhiều các effects khác nữa. Chẳng hạn như hue-rotate, invertvà saturate, nhưng tôi nghĩ rằng chúng ít được áp dụng hơn. Xin cảm ơn và hẹn gặp lại các bạn trong các bài viết tiếp theo!

Tham khảo: https://www.hongkiat.com/blog/css-filter/

All rights reserved