6/16/2559

การ resize ภาพด้วย PHP

เพื่อเป็นการประหยัดทรัพยากรของ Server เว็บ Application ควรสามารถที่จะปรัปเปลี่ยนขนาดรูปภาพ  ( resize )ของผู้ใช้ที่ upload มาไว้ที่ server ได้

ตัวอย่างการ  resize ภาพโดยใช้ PHP

<?php

 
     /*---------- การ resize ภาพ ----------*/
   
     $original=imagecreatefromjpeg("picture.jpg");//สร้า object รูปภาพจากไฟล์ "picture.jpg"
   
     $size=getimagesize ("picture.jpg");// หาขนาดภาพปัจจุบัน
     $w_old=$size[0];//ความกว้างของ ภาพปัจจุบัน
     $h_old=$size[1];//ความสูของ ภาพปัจจุบัน
   
     $w=$w_old/5;//กำหนดความกว้างของ ภาพใหม่โดยกำหนดให้เป็น 1 ใน 5 ของความกว้างเดิม
     $h=$h_old/5;//กำหนดความสูงของ ภาพใหม่โดยกำหนดให้เป็น 1 ใน 5 ของความสูงเดิม
 
     $img_new_size=ImageCreateTrueColor($w ,$h);//สร้าง object ภาพใหม่ ชื่อว่า $img_new_size
 
 //ทำการ resize ภาพ 
     imagecopyresized ( $img_new_size, $original, 0, 0, 0, 0, $w , $h , $w_old ,$h_old);
     ImageJPEG($img_new_size,"new_picture.jpg");
  //กำหนดให้ภาพที่ resize แล้ว ชื่อว่า "new_picture.jpg"
 
echo "<img src='picture.jpg' />";//แสดงรูปภาพก่อนเปลี่ยนขนาด
echo "<img src='new_picture.jpg' />";//แสดงรูปภาพหลังเปลี่ยนขนาด


?>

ผลลัพธ์ที่ได้ดังนี้ รูปด้านซ้ายคือ รูปก่อน resize ส่วนรูปขวาคือ รูปที่ resize แล้ว
จะเห็นว่าขนาดเป็น 1 ใน 5 ของรูปเดิม