我要从base64获取图像,对其进行解码,然后检查图像宽度是否小于高度。如果是,请旋转图像。但是,imagerotate()
仅接受资源。
imagerotate() expects parameter 1 to be resource, string given
代码如下:
$file_data = base64decode($input);
list($width, $height) = getimagesizefromstring($file_data);
if($width < $height) {
$file_data = imagerotate($file_data, 90, 0);
}
如何旋转图像而不先保存图像?
答案 0 :(得分:1)
我最终正确地创建了图像资源,这很正常:
$file_data = base64decode($input);
list($width, $height) = getimagesizefromstring($file_data);
if($width < $height) {
$file_rotate = imagecreatefromstring($file_data);
$file_rotated = imagerotate($file_rotate, 90, 0);
ob_start();
imagejpeg($file_rotated);
$file_data = ob_get_contents();
ob_end_clean();
}