当宽度大于高度时,自动旋转图像在PHP中
问题描述:
我问了过去,但我不确定我们理解&我还没有解决方案。 我需要优雅的解决方案; 我有照片600x800 &我需要在我的网站上显示它旋转90度,所以结果将是,当我打印php页面时,所有照片将自动垂直。当宽度大于高度时,自动旋转图像在PHP中
例如 我有很多照片,两种:800x600 & 600x800。 我需要在我的PHP页面上显示所有800x600原始和所有600x800旋转90度。
我需要一些非常简单的解决方案,我完全不在意。可以旋转宽度大于高度的图像的一些功能。
非常感谢。
答
使用PHP函数getimagesize()
你可以得到你的形象width
和height
:
list($width, $height) = getimagesize($imageUrl);
然后,在您的模板中:
<?php if($width > $height): ?>
//put css here as you want
<?php else: ?>
//put css here as you want
<?php endif; ?>
答
使用getimagesize用于检测图像的宽度,如果宽度为800像素加内嵌CSS这样
style="-moz-transform: rotate(90deg); -webkit-transform: rotate(90deg); -o-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg);"
答
getimagesize()函数将给你的宽度和高度,并通过使用imagerotate()您可以旋转该图像到任何需要的角度。
试试这个: -
<?php
// File and rotation
$filename = 'php.jpg';
$degrees = 180;
// Content type
header('Content-type: image/jpeg');
// Load
$source = imagecreatefromjpeg($filename);
// Rotate
$rotate = imagerotate($source, $degrees, 0);
// Output
imagejpeg($rotate);
// Free the memory
imagedestroy($source);
imagedestroy($rotate);
?>
+0
这是不正确的形式:--- echo(''); ---? :/没有工作 – WanderRook
所以,你必须每个图像的2; 800x600和600x800? 您当前的输出是什么?你可以发布你的PHP逻辑? – Fyntasia
您可以使用GD或ImageMagick在服务器上旋转图像,也可以在浏览器中使用CSS变换旋转图像。 –