Я пытаюсь сделать PHP-скрипт для обрезания dataURL и вернуть другой dataURL, используя GD Library, но всегда получаю ошибки, как я могу это исправить?PHP Crop DataURL и return DataURL
if(isset($_GET['render'])) {
if((isset($_GET['render_x'])) && (isset($_GET['render_y']))) {
if(isset($_GET['dataURL'])) {
$image = $_GET['dataURL']; // the image to crop
$image = substr($image,22);
$img = imagecreatetruecolor('200','150');
$org_img = imagecreatefromstring(base64_decode($image));
imagecopy($img,$org_img, 0, 0, 20, 20, 200, 150);
ob_start();
imagepng($img);
$image_data = ob_get_contents();
ob_end_clean();
$image_data_base64 = base64_encode($image_data);
imagedestroy($img);
echo '<img src="data:image/png;base64,'.$image_data_base64.'" ><p>';
}
}
}
Как это исправить? Я получил эти ошибки:
Warning: imagecreatefromstring(): gd warning: one parameter to a memory allocation multiplication is negative or zero, failing operation gracefully in xxx on line 29
Warning: imagecreatefromstring(): Passed data is not in 'WBMP' format in xxx on line 29
Warning: imagecreatefromstring(): Couldn't create GD Image Stream out of Data in xxx on line 29
Warning: imagecopy() expects parameter 2 to be resource, boolean given in
и черную картину
EDIT: $ _GET [ 'dataURL'] значение: data:image/png;base64,AAAFBfj42Pj4
Как я могу исправить это? Спасибо
Что такое значение '$ _GET ['dataURL']'? Также почему «substr» применяется на изображении? Отправьте образец '$ _GET ['dataURL']'. – Samir
@ Сообщение Самира отредактировано – doge45
Зачем вам нужен субстрат на URL-адрес данных изображения? Попробуйте комментировать его // // $ image = substr ($ image, 22); ' – Samir