Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter() trong PHP

imagefilter() là hàm tích hợp sẵn trong PHP dùng để áp dụng một bộ lọc cho hình ảnh.

Cú pháp

bool imagefilter(resource $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4)

Tham số

Hàm imagefilter() nhận sáu tham số: $image, $filtertype, $arg1, $arg2, $arg3, $arg4.

  • $image - Tài nguyên hình ảnh.

  • $filtertype - Chỉ định bộ lọc sẽ sử dụng (dạng số nguyên).

Dưới đây là các hằng số bộ lọc hình ảnh:

  • IMG_FILTER_NEGATE - Đảo ngược tất cả màu của hình ảnh.

  • IMG_FILTER_GRAYSCALE - Chuyển hình ảnh thành thang độ xám bằng cách thay đổi thành phần đỏ, xanh lá, xanh dương thành tổng trọng số.

  • IMG_FILTER_BRIGHTNESS - Thay đổi độ sáng. arg1 thiết lập mức độ sáng (khoảng -255 đến 255).

  • IMG_FILTER_CONTRAST - Thay đổi độ tương phản. $arg1 thiết lập mức độ tương phản.

  • IMG_FILTER_COLORIZE - Tương tự IMG_FILTER_GRAYSCALE nhưng cho phép chỉ định màu, sử dụng arg1, arg2, $arg3 cho đỏ, xanh lá, xanh dương và arg4 cho kênh alpha (0-255).

  • IMG_FILTER_EDGEDETECT - Phát hiện cạnh để làm nổi bật các cạnh trong hình ảnh.

  • IMG_FILTER_GAUSSIAN_BLUR - Làm mờ Gaussian.

  • IMG_FILTER_SELECTIVE_BLUR - Làm mờ chọn lọc.

  • IMG_FILTER_EMBOSS - Hiệu ứng chạm nổi.

  • IMG_FILTER_MEAN_REMOVAL - Loại bỏ nhiễu và tạo hiệu ứng phác thảo.

  • IMG_FILTER_SMOOTH - Làm mượt hình ảnh. $arg1 thiết lập mức độ mượt.

  • IMG_FILTER_PIXELATE - Hiệu ứng pixel hóa. $arg1 kích thước khối, $arg2 chế độ pixel hóa.

  • IMG_FILTER_SCATTER - Hiệu ứng phân tán. $arg1, arg2 độ mạnh hiệu ứng, $arg3 áp dụng trên màu pixel chọn lọc.

Danh sách các tham số tùy chọn

arg1

  • IMG_FILTER_BRIGHTNESS - Mức độ sáng.

  • IMG_FILTER_CONTRAST - Mức độ tương phản.

  • IMG_FILTER_COLORIZE - Giá trị thành phần đỏ.

  • IMG_FILTER_SMOOTH - Mức độ mượt.

  • IMG_FILTER_PIXELATE - Kích thước khối tính bằng pixel.

  • IMG_FILTER_SCATTER - Mức trừ hiệu ứng.

arg2

  • IMG_FILTER_COLORIZE - Giá trị thành phần xanh dương.

  • IMG_FILTER_PIXELATE - Có sử dụng hiệu ứng pixel hóa nâng cao hay không (mặc định false).

  • IMG_FILTER_SCATTER - Mức cộng hiệu ứng.

arg3

  • IMG_FILTER_COLORIZE - Giá trị thành phần xanh dương (lưu ý: bản gốc ghi nhầm blue cho cả arg2 và arg3).

  • IMG_FILTER_SCATTER - Mảng tùy chọn các giá trị màu được lập chỉ mục để áp dụng hiệu ứng.

arg4

  • IMG_FILTER_COLORIZE - Kênh alpha, giá trị 0-127. 0 là hoàn toàn mờ, 127 hoàn toàn trong suốt.

Giá trị trả về

Trả về True khi thành công, False khi thất bại.

Ví dụ 1

<?php 
// Tải hình ảnh GIF từ thư mục cục bộ
$img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');
// Tô màu hình ảnh
imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);
// Hiển thị hình ảnh đầu ra
header('Content-type: image/gif');
imagepng($img);
?>

Kết quả

Cách áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter() trong PHP

Ví dụ 2

<?php 
// Tải hình ảnh GIF từ thư mục cục bộ
$img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');
// Làm âm bản hình ảnh
imagefilter($img, IMG_FILTER_NEGATE);
// Hiển thị hình ảnh đầu ra
header('Content-type: image/gif');
imagepng($img);
?>

Kết quả

Cách áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter() trong PHP