首页 > 解决方案 > 裁剪图像并在 php 中将裁剪的图像部分数据作为字符串获取

问题描述

我正在尝试使用从 url 获取图像数据file_get_contents(),然后裁剪图像并将裁剪的图像数据作为字符串传递给另一个函数。我的代码是,

 $imageData = file_get_contents($imageurl);
$imgcrop = imagecrop($x,$y,$width,$height);

gettype($imgcrop ) // a resource type, I want them to be string/bytes

uploadThisData(imgcrop) ;

所以我的问题是$imgcrop数据是资源类型,如何从中获取字符串/字节值?谢谢你。

标签: phpimage

解决方案


您可以通过执行将图像资源保存为 pngimagepng($imgcrop,'cropped.png')

然后,您可以将 png 转换为这样的字节数组

imagepng($imgcrop,'cropped.png');
$cropedpng = imagecreatefrompng("cropped.png");
$array = array(); 

foreach(str_split($cropedpng) as $char){ 
    array_push($array, ord($char)); 
}
var_dump(implode(' ', $array));

或者您可以像这样将其转换为 Base64

imagepng($imgcrop,'cropped.png');
$cropedpng = imagecreatefrompng("cropped.png");
$base64 = ''. base64_encode($cropedpng).'';

推荐阅读