PHP从请求文件中旋转图像

时间:2016-08-03 03:46:37

标签: php image laravel upload request

我现在使用以下方法将图像从输入文件类型

存储到服务器
$image = $request->file('file');
$filename = $item->itemId . '.png';
Storage::disk('s3')->put('/'.$filename, file_get_contents($image), 'public');

我找到了用PHP旋转图像的方法

$filename = 'test.jpg';
$degrees = 180;
header('Content-type: image/jpeg');
$source = imagecreatefromjpeg($filename);
$rotate = imagerotate($source, $degrees, 0);
imagejpeg($rotate);

但我不知道如何使用$ request->文件实现代码(' file')

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定你从哪里获取你的函数,imagecreatefromjpeg()和imagerotate(),但如果你只使用PHP自己的,可用的函数(由Imagick提供),你可以做一些更简单的事情......

$image = new Imagick();
$image_filehandle = fopen('some/file.jpg', 'a+');
$image->readImageFile($image_filehandle );

$image->rotateImage("FFFFFF", 90);  # Rotate 90 degrees, keep background of "FFFFFF" (white)

$image_icon_filehandle = fopen('some/file-rotated.jpg', 'a+');
$image->writeImageFile($image_icon_filehandle);

如果图像旋转并留下一定量的背景,则此处应用背景颜色(“FFFFFF”)(旋转度数不会以90为增量发生)。