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 บาร์โคด หรือแสดงที่เป็นรูปภาพอื่นตามที่เราต้องการได้ครับ 

 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : ฟังก์ชัน PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
IP และ vpn (VMware)
โดย ballmykids อ 10 มี.ค. 2024 2:35 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
409
พฤ 21 มี.ค. 2024 6:49 am โดย mindphp View Topic IP และ vpn (VMware)
แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
โดย Anonymous ศ 08 มี.ค. 2024 7:02 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
300
ศ 08 มี.ค. 2024 8:12 pm โดย mindphp View Topic แบบนี้ต้องทำยังไง ในกรณีที่ Server เดิมเราได้ทำการ Raid 1 กับ HDD 2 ลูกแรกแล้ว
พี่ช่วยผมหน่อยครับ
โดย cuthbertdavies จ 04 มี.ค. 2024 3:05 pm บอร์ด Programming - PHP
1
701
จ 04 มี.ค. 2024 3:08 pm โดย mindphp View Topic พี่ช่วยผมหน่อยครับ
เอาเครื่องเก่ามาจะลงโปรแกรมใหม่ เปลี่ยน SSD เจอปัญหา
โดย Anonymous จ 04 มี.ค. 2024 2:17 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
530
จ 04 มี.ค. 2024 2:17 pm โดย บุคคลทั่วไป View Topic เอาเครื่องเก่ามาจะลงโปรแกรมใหม่ เปลี่ยน SSD เจอปัญหา
โฆษณา LINE นั้นมีประโยชน์สำหรับการทำธุรกิจอย่างไร?
โดย admeadme อ 03 มี.ค. 2024 10:49 am บอร์ด Share Knowledge
0
535
อ 03 มี.ค. 2024 10:49 am โดย admeadme View Topic โฆษณา LINE นั้นมีประโยชน์สำหรับการทำธุรกิจอย่างไร?
สอบถามเรื่อง Storage ของ notebook
โดย Narisara ศ 01 มี.ค. 2024 10:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
5
379
พฤ 07 มี.ค. 2024 7:27 pm โดย mindphp View Topic สอบถามเรื่อง Storage ของ notebook
การแทรกข้อความตัวอย่างใน Microsoft Office Word ทำอย่างไรดีหรือไม่
โดย BXP พ 28 ก.พ. 2024 5:04 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
584
พ 28 ก.พ. 2024 5:04 pm โดย BXP View Topic การแทรกข้อความตัวอย่างใน Microsoft Office Word ทำอย่างไรดีหรือไม่
การเป็น Software Tester ที่ดีเป็นแบบไหน
โดย BXP พ 28 ก.พ. 2024 5:03 pm บอร์ด Software testing
0
525
พ 28 ก.พ. 2024 5:03 pm โดย BXP View Topic การเป็น Software Tester ที่ดีเป็นแบบไหน