blob图像错误

时间:2016-03-27 21:04:46

标签: php blob

我使用以下代码裁剪图像并收到以下错误。

错误

  


警告: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");

1 个答案:

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