2012-09-22 66 views
3

我希望用戶能夠順時針或逆時針旋轉圖像文件。我已經嘗試imagejpeg($ rotate),但似乎無法使其正確工作。PHP永久旋轉圖像文件

  <form method="GET" action="rotate.php"> 
       Rotate:<input type="radio" name="rotate" value="clockwise">Clockwise 
       <input type="radio" name="rotate" value="counterclockwise">Counter clockwise 
       <input type="Submit" name="Submit1"/> 
      </form> 

我想讓用戶能夠選擇單選按鈕的方向,然後單擊「提交」。然後顯示的圖像將更新旋轉到他們選擇的任何方向,並且每當再次使用時永久保持該方式。任何幫助或方向?

<img src=\"uploads/$user/$folder/$image\"/></a>"; 
+0

這個'「;'不列入使所提供的代碼任何意義,你..please提供如何閱讀PHP的更多相關信息 –

+1

手冊... [鏈接](http://php.net/manual/en/function.imagerotate.php) – markz

+1

這看起來像一個PHP字符串,@Registered User。 – Ohgodwhy

回答

3

使用imagerotate()這將永久旋轉圖像。

<?php 
// File and rotation 
$filename = 'test.jpg'; 
$degrees = 180; 

// Content type 
header('Content-type: image/jpeg'); 

// Load 
$source = imagecreatefromjpeg($filename); 

// Rotate 
$rotate = imagerotate($source, $degrees, 0); 

// Output 
imagejpeg($rotate); 
?> 

http://php.net/manual/en/function.imagerotate.php

,或者如果你想旋轉你的圖片永久,HTML和CSS是不是要走的路,你可以使用這個使用jQuery

http://www.linein.org/examples/jquery_rotate/

+0

永久性的,我想他的意思是用舊的圖像覆蓋舊圖像這個代碼沒有做,但它開始:) –

0

。您將需要一些服務器端腳本來存儲旋轉的圖片。你可以看看GD library。對於這種圖像處理,我一直在使用Imagine library,這是一個基於GD的庫。

0

如果有其他人需要這個。這裏是將替換原有的旋轉圖像的功能:

public function autoRatateImage($src, $exifCode = ''){ 

     if($exifCode == ''){ 
      $exif = exif_read_data($src); 
     }else{ 
      $exif['Orientation'] = $exifCode; 
     } 
     $source = imagecreatefromjpeg($src); 
     if (!empty($exif['Orientation'])) { 
      switch ($exif['Orientation']) { 
       case 3: 
        $image = imagerotate($source, 180, 0); 
        break; 

       case 6: 
        $image = imagerotate($source, -90, 0); 
        break; 

       case 8: 
        $image = imagerotate($source, 90, 0); 
        break; 
      } 
      if (file_exists($src)) { 
       unlink($src); 
      } 
      imagejpeg($image, $src , 100); 
     } 

    }