Computer >> Máy Tính >  >> Lập trình >> PHP

Làm cách nào để áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter () trong PHP?

bộ lọc hình ảnh () là một hàm có sẵn trong PHP được sử dụng để áp dụng một bộ lọc nhất định cho một hình ảnh.

Cú pháp

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

Tham số

bộ lọc hình ảnh () nhận sáu tham số khác nhau - $ image, int $ filtertype, int $ arg1, int $ arg2, int $ arg3, int $ arg4.

  • $ hình ảnh - Nó chứa tài nguyên hình ảnh.

  • $ filtertype - Chỉ định bộ lọc được sử dụng là một số nguyên.

Dưới đây là các hằng số bộ lọc hình ảnh khác nhau đã cho -

  • IMG_FILTER_NEGATE - Đảo ngược tất cả cá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 các thành phần màu đỏ, xanh lục và xanh lam thành tổng trọng số của chúng.

  • IMG_FILTER_BRIGHTNESS - Thay đổi độ sáng của hình ảnh. arg1 được sử dụng để đặt mức độ sáng. Phạm vi độ sáng là -255 đến 255.

  • IMG_FILTER_CONSTRAST - Thay đổi độ tương phản của hình ảnh. $ arg1 được sử dụng để đặt mức độ tương phản.

  • IMG_FILTER_COLORIZE - Bộ lọc hình ảnh này giống như IMG_FILTER_GARYSCALE, ngoại trừ việc chúng ta có thể chỉ định màu, nó sử dụng các đối số arg1, arg2 và $ arg3 ở dạng đỏ, lục, lam và arg4 được sử dụng cho kênh alpha. Phạm vi cho mỗi màu là từ 0 đến 255.

  • IMG_FILTER_EDGEDETECT - Bộ lọc này được sử dụng để phát hiện cạnh để làm nổi bật các cạnh trong hình ảnh.

  • IMG_FILTER_GAUSSIAN_BLUR - Áp dụng tính năng làm mờ Gaussian cho hình ảnh.

  • IMG_FILTER_SELECTIVE_BLUR - Áp dụng làm mờ có chọn lọc cho hình ảnh.

  • IMG_FILTER_EMBOSS - Áp dụng Emboss cho hình ảnh.

  • IMG_FILTER_MEAN_REMOVAL - Loại bỏ nhiễu khỏi hình ảnh và cung cấp hiệu ứng sơ sài.

  • IMG_FILTER_SMOOTH - Làm cho hình ảnh mịn hơn. $ arg1 được sử dụng để đặt mức độ mượt mà.

  • IMG_FILTER_PIXELATE - Áp dụng hiệu ứng pixelation cho hình ảnh. $ arg1 được sử dụng để đặt kích thước khối và $ arg2 để đặt chế độ hiệu ứng pixelation.

  • IMG_FILTR_SCATTER - Áp dụng hiệu ứng phân tán cho hình ảnh. $ arg1 arg2 được sử dụng để xác định cường độ hiệu ứng và $ arg3 được sử dụng để áp dụng trên các màu pixel đã chọn.

Danh sách các đối số tùy chọn

arg1

  • IMG_FILTER_BRIGHTNESS - Được sử dụng cho mức độ sáng.

  • IMG_FILT_CONTRAST - Được sử dụng cho mức độ tương phản.

  • IMG_FILTER_COLORIZE - Được sử dụng cho giá trị của thành phần màu đỏ.

  • IMG_FILTER_SMOOTH - Được sử dụng để cấp độ mịn.

  • IMG_FILTER_PIXELATE - Được sử dụng cho kích thước khối tính bằng pixel.

  • IMG_FILTER_SCATTER - Được sử dụng cho mức trừ hiệu ứng.

arg2

  • IMG_FILTER_COLORIZE - Nó được sử dụng cho giá trị của thành phần màu xanh lam.

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

  • IMG_FILTER_SCATTER - Hiệu ứng mức bổ sung.

arg3

  • IMG_FILTER_COLORIZE - Nó được sử dụng cho giá trị của thành phần màu xanh lam.

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

arg4

  • IMG_FILTER_COLORIZE - Kênh alpha, giá trị A từ 0 đến 127. 0 cho biết hoàn toàn không trong suốt trong khi 127 cho biết hoàn toàn trong suốt.

Giá trị trả lại

Nó trả về Đúng khi thành công và Sai khi thất bại.

Ví dụ 1

<?php
   // Load the gif image from the local drive folder.
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // Colorize the image
   imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);

   // Show the output image
   header('Content-type: image/gif');
   imagepng($img);
?>

Đầu ra

Làm cách nào để áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter () trong PHP?

Ví dụ 2

<?php
   // Load the gif image from the local drive folder.
   $img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');

   // Negative the image
   imagefilter($img, IMG_FILTER_NEGATE);

   // Show the output image
   header('Content-type: image/gif');
   imagepng($img);
?>

Đầu ra

Làm cách nào để áp dụng bộ lọc cho hình ảnh bằng hàm imagefilter () trong PHP?