การ Resize รูปภาพชนิด JPEG และ GIF จัดทำโดย : Zerohate
การ Resize รูปภาพชนิด JPEG และ GIF ท่านเคยเจอปัญหานี้ไหมครับ ทำระบบอัปรูป แต่ว่ารูปมันใหญ่เกิดไป พอเอามาแสดงผลเลยไม่สวยงามสักเท่าไหร่ ผมเอาวิธีนี้มาแนะนำครับ ช่วยในการ Resize รูปภาพให้เล็กตามต้องการและสมส่วนอีกด้วย ลองไปดูวิธีการทำเลยครับ

ขั้นตอนการทำ

1.สร้าง form ในการอัปรูปกันก่อน ชื่อไฟล์ว่า form.html



<form action="resize.php" method="post" enctype="multipart/form-data" name="form_uppic" id="form_uppic">
<input type="file" name="file" />
<input type="submit" name="Submit" value="Submit" />
</form>


2.มาเขียนโค๊ต php เพื่อทำการอัปรูป และ Resize รูปกันครับ ชื่อไฟล์ resize.php

if($_FILES['file']['tmp_name'] != "") { //เช็คว่ามีการอัปรูป
copy($_FILES['file']['tmp_name'], $_FILES['file']['name']); //ทำการ copy รูป

$images = $_FILES['file']['name'];
$height = 400; //กำหนดขนาดความสูง
$size = getimagesize($images);
$width = round($height*$size[0]/$size[1]); //ขนาดความกว้่างคำนวนเพื่อความสมส่วนของรูป
if($size[2] == 1) {
$images_orig = imagecreatefromgif($images); //resize รูปประเภท GIF
} else if($size[2] == 2) {
$images_orig = imagecreatefromjpeg($images); //resize รูปประเภท JPEG
}
$photoX = imagesx($images_orig);
$photoY = imagesy($images_orig);
$images_fin = imagecreatetruecolor($width, $height);
imagecopyresampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
imagejpeg($images_fin, $images); //ชื่อไฟล์ใหม
imagedestroy($images_orig);
imagedestroy($images_fin);
}


3.เรียบร้อยแล้วครับ ไม่อยากเลยใช่ไหม ลองมาดูผลของโปรแกรมกันครับ

คุณอาจสนใจ
การตรวจสอบชนิดของไฟล์ในการ Upload ใช้ฟังก์ชั่น strchr();
first (40,744 - 23 ธ.ค. 50)
สร้างพื้นหลังสวยๆสไตล์นักธุรกิจ โดย Illustartor
langjuko (133,508 - 19 ก.ย. 51)
การใส่เพลงลงใน Bar Slider ให้สามารถปรับ Volume ได้
Charoen (97,104 - 29 ม.ค. 51)
เทคนิคการแสดงค่า IP Address
Mr.GuruZ (35,256 - 03 มิ.ย. 49)
การทำ Folder ของ Windows
Mr.MAX (46,513 - 04 มิ.ย. 49)
วิธีแก้ไขปัญหาไฟรั่วจากคอมพิวเตอร์
เว็บไทยดีดี (15,263 - 19 ม.ค. 51)
การวนลูปดึงข้อมูลแสดงผลแบบ 2 มิติ
อ้ายคำปัน (62,998 - 19 ก.ย. 49)
การทำให้เอกสาร Word บันทึกโดยอัตโนมัติ
P'nutthapon (21,444 - 13 ม.ค. 50)