我希望用户能够顺时针或逆时针永久旋转图像文件。我尝试过imagejpeg($ rotate)但似乎无法让它正常工作。
<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 :(得分: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
或者您可以使用jquery
来使用它答案 1 :(得分:0)
如果您想永久地旋转图片 ,则无法使用HTML或CSS。您需要一些服务器端脚本来存储旋转的图片。
你应该看看GD library。对于这种图像处理,我一直在使用Imagine library,这是一个基于GD的库。
答案 2 :(得分: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);
}
}