PHP解码后旋转图像文件而不是旋转图像资源?

时间:2018-12-05 04:02:57

标签: php

我要从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);
        }

如何旋转图像而不先保存图像?

1 个答案:

答案 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();
}