我正在构建一个应用程序,您可以使用手机拍照并上传图像,但是您拍摄的纵向图像会自动旋转为横向。相信我,我已经尝试了很多并在发布之前进行了研究!
我在 PHP 方面没有高级技能,但我在下面有一个代码可以很好地处理调整大小,但它不会进行旋转。
有没有人看到任何直接的问题?
// resizeImage
function loadResize($imageName, $imageWidth, $imageHeight, $resizeType) {
list($width, $height, $type, $attr) = getimagesize($imageName);
if($resizeType=="portrait" && $height<=$imageHeight) {
return;
}
if($resizeType=="landscape" && $width<=$imageWidth) {
return;
}
$exif = exif_read_data($imageName);
if (!empty($exif['Orientation'])) {
switch ($exif['Orientation']) {
case 3:
$imageName = imagerotate($imageName, 180, 0);
break;
case 6:
$imageName = imagerotate($imageName, -90, 0);
break;
case 8:
$imageName = imagerotate($imageName, 90, 0);
break;
}
}
// *** 1) Initialise / load image
$resizeObj = new resize($imageName);
// *** 2) Resize image (options: exact, portrait, landscape, auto, crop)
$resizeObj -> resizeImage($imageWidth, $imageHeight, $resizeType);
// *** 3) Save image
$resizeObj -> saveImage($imageName, 100);
}
感谢您的帮助!