PHP การหมุนรูป (Rotate Image)

หมุนรูป
การหมุนรูปกรณีที่อัพโหลดรูปขึ้นเซิฟเวอร์แล้วรูปอาจจะเอียง  ไม่ตรงตามที่เราต้องการ  php มีฟังก์ชันในการหมุนรูปดังโค้ดตัวอย่าง

<?php 
 $image = 'aaa.jpg';
// ไฟล์ที่ต้องการหมุน (rotate)

 $degrees = -90;
//จำนวนองศาที่ต้องการหมุน

 $src = $image;
$system = explode(".", $src);

//ตรวจสอบนามสกุลไฟล์ และสร้างรูปจำลอง

if (preg_match("/jpg|jpeg/", $system[1]))
{
     header('Content-type: image/jpeg') ;
    $src_img=imagecreatefromjpeg($src);
}
if (preg_match("/png/", $system[1]))
{
     header('Content-type: image/png') ;
    $src_img = imagecreatefrompng($src);
}
if (preg_match("/gif/", $system[1]))
{
     header('Content-type: image/gif') ;
    $src_img = imagecreatefromgif($src);
}

  // หมุนรูป
  $rotate = imagerotate($src_img, $degrees, 0) ;

  // แปลงไฟล์กลับเป็นนามสกุลเดิม
  if (preg_match("/png/", $system[1]))
{
    imagepng($rotate,$image); 

else if (preg_match("/gif/", $system[1]))
{
    imagegif($rotate, $image);
}
else
{
    imagejpeg($rotate, $image); 
}

imagedestroy($rotate);  
imagedestroy($src_img);
header('Content-type: text/HTML') ; 
echo "OK";

 ?>

ถ้าจะให้การทำงานดูมีลูกเล่นมาขึ้น สามารถใช้  JQuery ในการหมุนรูปที่แสดงในหน้าเว็บร่วมกันได้โดยใช้งานดังนี้
<script language="javascript" src="jQueryRotate.js" type="text/javascript"></script>

<script>

 var value = $(idpic).getRotateAngle();
      if(value == ""){value=0;}
      value = Number(value) + Number(90);
      $(idpic).rotate({ animateTo:value})

</script>

Comments

comments

You may also like...

ใส่ความเห็น