Как повернуть изображение и сохранить изображение

В моем приложении у меня есть изображение в div, кнопку.

Я хочу повернуть изображение, отображаемое и сохранить повернутое изображение, когда я нажал кнопку, используя jquery.

Я уже использовал код:

http://code.google.com/p/jquery-rotate/

и код jquery:

$(function() { // doc ready var rotation = 0; // variable to do rotation with $("#img").click(function() { rotation = (rotation + 45) % 360; // the mod 360 probably isn't needed $("#cropbox").rotate(rotation); }); }); 

html-код:

 <img src="demo_files/pool.jpg" id="cropbox" /> <input type="button" id="img" name="img" value="click" /> 

Когда я использую код выше, есть два изображения: одно – это старое изображение, а другое – повернутое изображение.

Здесь я хочу повернуть одно и то же изображение и отобразить только повернутое изображение. И сохранить повернутое изображение в каталоге.

Как я могу сделать это с помощью jquery? Если это невозможно с jquery, то как я могу сделать это с помощью php / ajax?

 //define image path $filename="image.jpg"; // Load the image $source = imagecreatefromjpeg($filename); // Rotate $rotate = imagerotate($source, $degrees, 0); //and save it on your server... file_put_contents("myNEWimage.jpg",$rotate); 

Взгляни на:

imagerotate ()

А также:

file_put_contents ()

Вращение изображения: PNG или JPEG зависят от типа файла с сохранением на вашем сервере

 // File and rotation $rotateFilename = '/var/www/your_image.image_type'; // PATH $degrees = 90; $fileType = strtolower(substr('your_image.image_type', strrpos('your_image.image_type', '.') + 1)); if($fileType == 'png' || $fileType == 'PNG'){ header('Content-type: image/png'); $source = imagecreatefrompng($rotateFilename); $bgColor = imagecolorallocatealpha($source, 255, 255, 255, 127); // Rotate $rotate = imagerotate($source, $degrees, $bgColor); imagesavealpha($rotate, true); imagepng($rotate,$rotateFilename); } if($fileType == 'jpg' || $fileType == 'jpeg'){ header('Content-type: image/jpeg'); $source = imagecreatefromjpeg($rotateFilename); // Rotate $rotate = imagerotate($source, $degrees, 0); imagejpeg($rotate,$rotateFilename); } // Free the memory imagedestroy($source); imagedestroy($rotate); 

Это работает для меня, попробуйте.

 <?php //image rotate code here if(isset($_POST['save'])) { $degrees=90; $new_file=$sourceName; $filename ="http://localhost/dostoom/files_user/1000/4/153.jpg"; $rotang = $degrees; list($width, $height, $type, $attr) = getimagesize($filename); $size = getimagesize($filename); switch($size['mime']) { case 'image/jpeg': $source = imagecreatefromjpeg($filename); $bgColor=imageColorAllocateAlpha($source, 0, 0, 0, 0); $rotation = imagerotate($source, $rotang,$bgColor); imagealphablending($rotation, false); imagesavealpha($rotation, true); imagecreate($width,$height); imagejpeg($rotation,$new_file); chmod($filename, 0777); break; case 'image/png': $source = imagecreatefrompng($filename); $bgColor=imageColorAllocateAlpha($source, 0, 0, 0, 0); $rotation = imagerotate($source, $rotang,$bgColor); imagealphablending($rotation, false); imagesavealpha($rotation, true); imagecreate($width,$height); imagepng($rotation,$new_file); chmod($filename, 0777); break; case 'image/gif': $source = imagecreatefromgif($filename); $bgColor=imageColorAllocateAlpha($source, 0, 0, 0, 0); $rotation = imagerotate($source, $rotang,$bgColor); imagealphablending($rotation, false); imagesavealpha($rotation, true); imagecreate($width,$height); imagegif($rotation,$new_file); chmod($filename, 0777); break; case 'image/vnd.wap.wbmp': $source = imagecreatefromwbmp($filename); $bgColor=imageColorAllocateAlpha($source, 0, 0, 0, 0); $rotation = imagerotate($source, $rotang,$bgColor); imagealphablending($rotation, false); imagesavealpha($rotation, true); imagecreate($width,$height); imagewbmp($rotation,$new_file); chmod($filename, 0777); break; } } ?>