imagecreate() ฟังก์ชั่นสร้างรูปภาพใหม่
ใน php มีฟังก์ชันมากที่น่าสนใจและได้รับความนิยม แต่ละฟังก์ชันก็มีความสามารถพิเศษที่แตกต่างกันไป วันนี้เราจะมาแนะนำฟังชั่นหนึ่งที่สำคัญและเป็นประโยชน์อย่างมากนั้นก็คือ ฟังก์ชัน imagecreate() ที่มีความสามารถสร้างให้เป็นรูปภาพได้น่ะครับ
การเริ่มสร้างหรือเปลี่ยนภาพใน PHP จำเป็นต้องสร้าง identifier ของภาพ การทำสิ่งนี้มี 2 วิธีพื้นฐาน วิธีหนึ่งคือการสร้าง canvas เปล่า ซึ่งสามารถทำด้วยการเรียกฟังก์ชัน ImageCreate() เหมือนกับในสคริปต์นี้
$im = ImageCreate ($width, $height);
ต้องส่งผ่าน 2 พารามิเตอร์ไปยัง ImageCreate() พารามิเตอร์แรกคือ ความกว้างของภาพใหม่และพารามิเตอร์ที่ 2 คือ ความสูงของภาพใหม่ ฟังก์ชันนี้จะส่งออก identifier สำหรับภาพใหม่ แต่ก็มีอีกวิธีอื่น คือ อ่านไฟล์ภาพที่สามารถกรอง ปรับขนาด หรือเพิ่มด้วยการเลือกใช้ฟังก์ชัน imagecreatefrompng(), imagecreatefromjpeg() หรือ imagecreatefromgif() ขึ้นกับรูปแบบไฟล์ที่กำลังอ่าน แต่ละฟังก์ชันใช้ชื่อไฟล์เป็นพารามิเตอร์
รูปแบบ syntax เพื่อความเข้าใจมากขึ้น
imagecreate ( int $width , int $height ) : resource
ซึ่งจะคืนค่ารูปภาพ แต่ถ้าเกิดข้อผิดพลาดจะคืนค่าเป็น false
ตัวอย่างโค้ดดังนี้
<?php
header("Content-Type: image/png");
$im = @imagecreate(110, 20)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>
ผลลัพธ์ที่ได้
จะเห็นได้ว่ามันจะแดงผลเป็นรูปภาพออกมา แต่ถ้ามีข้อผิดพลาดขึ้น แสงผลเป็น false ทันที หรือ error ซึ่งฟังก์ชันนี้เราสามารถนำไปประยุกต์ใช้ได้ เช่น เพือ่การสร้าง QR Code บาร์โคด หรือแสดงที่เป็นรูปภาพอื่นตามที่เราต้องการได้ครับ