imagefilter() เป็นฟังก์ชันในตัวของ PHP ที่ใช้เพื่อใช้ฟิลเตอร์ที่กำหนดกับภาพ
รูปแบบการใช้งาน (Syntax)
bool imagefilter(resource $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4)
พารามิเตอร์
imagefilter() รับพารามิเตอร์ 6 ตัว ได้แก่ $image, int $filtertype, int $arg1, int $arg2, int $arg3, int $arg4
$image - เก็บทรัพยากรภาพ (image resource)
$filtertype - ระบุฟิลเตอร์ที่จะใช้ ซึ่งเป็นจำนวนเต็ม
ด้านล่างนี้คือค่าคงที่ของฟิลเตอร์ภาพที่แตกต่างกัน:
IMG_FILTER_NEGATE - กลับสีทั้งหมดของภาพ
IMG_FILTER_GRAYSCALE - แปลงภาพเป็นโทนสีเทาโดยการเปลี่ยนส่วนประกอบสีแดง เขียว และน้ำเงินเป็นผลรวมถ่วงน้ำหนัก
IMG_FILTER_BRIGHTNESS - เปลี่ยนความสว่างของภาพ arg1 ใช้ตั้งค่าระดับความสว่าง ช่วงค่าคือ -255 ถึง 255
IMG_FILTER_CONTRAST - เปลี่ยนคอนทราสต์ของภาพ $arg1 ใช้ตั้งค่าระดับคอนทราสต์
IMG_FILTER_COLORIZE - ฟิลเตอร์นี้คล้าย IMG_FILTER_GRAYSCALE แต่สามารถระบุสีได้ ใช้ arg1, arg2, และ $arg3 ในรูปแบบแดง เขียว น้ำเงิน และ arg4 สำหรับช่องอัลฟา ช่วงค่าสีแต่ละสีคือ 0 ถึง 255
IMG_FILTER_EDGEDETECT - ใช้สำหรับตรวจจับขอบเพื่อเน้นขอบในภาพ
IMG_FILTER_GAUSSIAN_BLUR - ใช้การเบลอแบบ Gaussian กับภาพ
IMG_FILTER_SELECTIVE_BLUR - ใช้การเบลอแบบเลือกกับภาพ
IMG_FILTER_EMBOSS - ใช้เอฟเฟกต์ Emboss กับภาพ
IMG_FILTER_MEAN_REMOVAL - กำจัดสัญญาณรบกวนจากภาพและให้เอฟเฟกต์แบบสเก็ตช์
IMG_FILTER_SMOOTH - ทำให้ภาพเรียบขึ้น $arg1 ใช้ตั้งค่าระดับความเรียบ
IMG_FILTER_PIXELATE - ใช้เอฟเฟกต์พิกเซลเลทกับภาพ $arg1 ใช้ตั้งค่าขนาดบล็อก และ $arg2 สำหรับโหมดพิกเซลเลท
IMG_FILTER_SCATTER - ใช้เอฟเฟกต์กระจายกับภาพ $arg1 และ arg2 ใช้กำหนดความเข้มของเอฟเฟกต์ และ $arg3 ใช้สำหรับใช้กับสีพิกเซลที่เลือก
รายการอาร์กิวเมนต์เสริม (Optional Arguments)
arg1
IMG_FILTER_BRIGHTNESS - ใช้สำหรับระดับความสว่าง
IMG_FILTER_CONTRAST - ใช้สำหรับระดับคอนทราสต์
IMG_FILTER_COLORIZE - ใช้สำหรับค่าส่วนประกอบสีแดง
IMG_FILTER_SMOOTH - ใช้สำหรับระดับความเรียบ
IMG_FILTER_PIXELATE - ใช้สำหรับขนาดบล็อกในพิกเซล
IMG_FILTER_SCATTER - ใช้สำหรับระดับการลบเอฟเฟกต์
arg2
IMG_FILTER_COLORIZE - ใช้สำหรับค่าส่วนประกอบสีน้ำเงิน
IMG_FILTER_PIXELATE - ว่าจะใช้เอฟเฟกต์พิกเซลเลทขั้นสูงหรือไม่ (ค่าเริ่มต้นเป็น false)
IMG_FILTER_SCATTER - ระดับการเพิ่มเอฟเฟกต์
arg3
IMG_FILTER_COLORIZE - ใช้สำหรับค่าส่วนประกอบสีเขียว
IMG_FILTER_SCATTER - อาร์เรย์ตัวเลือกของค่าสีดัชนีเพื่อใช้เอฟเฟกต์
arg4
IMG_FILTER_COLORIZE - ช่องอัลฟา ค่าระหว่าง 0 ถึง 127 0 หมายถึงทึบแท้ ในขณะที่ 127 หมายถึงโปร่งใสสมบูรณ์
ค่าที่คืนกลับ (Return Values)
คืนค่า True เมื่อสำเร็จ และ False เมื่อล้มเหลว
ตัวอย่างที่ 1
<?php
// โหลดภาพ GIF จากโฟลเดอร์ดิสก์ท้องถิ่น
$img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');
// ใช้ฟิลเตอร์ Colorize กับภาพ
imagefilter($img, IMG_FILTER_COLORIZE, 140, 0, 140, 20);
// แสดงภาพผลลัพธ์
header('Content-type: image/gif');
imagepng($img);
?>
ผลลัพธ์

ตัวอย่างที่ 2
<?php
// โหลดภาพ GIF จากโฟลเดอร์ดิสก์ท้องถิ่น
$img = imagecreatefromgif('C:\xampp\htdocs\Images\img39.gif');
// ใช้ฟิลเตอร์ Negative กับภาพ
imagefilter($img, IMG_FILTER_NEGATE);
// แสดงภาพผลลัพธ์
header('Content-type: image/gif');
imagepng($img);
?>
ผลลัพธ์
