我使用以下代码裁剪图像并收到以下错误。
错误
警告:imagecreatefromstring():数据不在 公认的格式 C:\ MAMP \ htdocs \ mike \ dist \ functions \ crop.php 在线 20
警告:imagecopyresampled()期望 正好10个参数,8个给出 C:\ MAMP \ htdocs \ mike \ dist \ functions \ crop.php 在线 21
警告:imagestring()完全符合要求 6个参数,2个给出 C:\ MAMP \ htdocs \ mike \ dist \ functions \ crop.php 在线 22
注意
$img_name
是一个blob
例如:blob:http%3A//localhost/c1d90080-4603-4aa4-a618-555a70f840dd
date_default_timezone_set("America/New_York");
$img_name = $_POST['imgname']; //this is an blob
$cropx = $_POST['crop_X'];
$cropy = $_POST['crop_y'];
$cropw = $_POST['cropw'];
$croph = $_POST['croph'];
$dst_X = 0;
$dst_Y = 0;
$src_X = $cropx;
$src_Y = $cropy;
$dst_w = $cropw;
$dst_h = $croph;
$src_w = $src_X + $dst_w;
$src_w = $src_Y + $dst_h;
$dst_image = imagecreatetruecolor($dst_w, $dst_h);
$src_image = imagecreatefromstring($img_name);
imagecopyresampled($dst_image, $src_image,
$dst_X, $dst_Y,
$src_X, $src_Y,
$dst_w, $dst_h
);
imagestring($dst_image, "/dist/cropped.png");
答案 0 :(得分:0)
BLOB通常是图像的二进制数据,而不是URL字符串到文件,URL会直接指向图像的位置,因为您可能需要从字符串中解析URL并在推送之前使用file_get_contents($url)
这到imagecreatefromstring
例如:
$img_name = $_POST['imgname'];
$parts = explode(':', $img_name);
$img_string = file_get_contents($parts[1]);
imagecreatefromstring($img_string);