Thật ra định dạng ảnh trắng – đen là một khái niệm không chính xác để nói về ảnh dạng này. Nếu đúng hơn thì nên sử dụng ảnh thang xám (Grayscale) thì chính xác hơn vì trong ảnh dạng này không hẳn chỉ có 2 màu là trắng và đen như chúng ta đã biết.
Trước tiên chúng ta nhìn bức ảnh dưới đây:
Tấm ảnh ở phía bên trái là ảnh màu bình thường dạng RGB. Trong tấm ảnh ở phía phải, toàn bộ ảnh đã được chuyển sang màu xám với mức độ tuỳ thuộc vào sự nổi bật của màu sắc ở ảnh gốc
PHP code to convert an RGB image to Grayscale image
Chúng ta nói nhanh về code để đỡ mất thời gian phân tích thuật ngữ lòng vòng.
<?php $imgcreate = imagecreatefrompng('chandung.png'); if($imgcreate && imagefilter($imgcreate, IMG_FILTER_GRAYSCALE)) { echo 'Grayscale image generated.'; imagepng($imgcreate, 'chandung_gray.png'); } else { echo 'Grayscale conversion of image failed.'; } imagedestroy($imgcreate); ?> |
Trong đoạn mã trên chúng ta tạo 1 ảnh mới trong PHP dựa trên nguồn ảnh gốc thông qua imagecreatefrompng(). Để chuyển ảnh sang dạng thang màu xám (trắng – đen) chúng ta áp dụng một bộ lọc imagefilter() có sẵn với loại filter type là IMG_FILTER_GRAYSCALE.
Đơn giản thế thôi :))