error when crop image croppic + CI

一曲冷凌霜 提交于 2019-12-25 06:47:05

问题


Im using croppic to crop images. Its succesfull when upload image, but its not working when crop images, error unexpected token <. It cant get $ImgUrl. value Here is my current code:

 function image_cropping(){

    $imgUrl = $_POST['imgUrl'];
    // original sizes
    $imgInitW = $_POST['imgInitW'];
    $imgInitH = $_POST['imgInitH'];
    // resized sizes
    $imgW = $_POST['imgW'];
    $imgH = $_POST['imgH'];
    // offsets
    $imgY1 = $_POST['imgY1'];
    $imgX1 = $_POST['imgX1'];
    // crop box
    $cropW = $_POST['cropW'];
    $cropH = $_POST['cropH'];
    // rotation angle
    $angle = $_POST['rotation'];

    $jpeg_quality = 100;

    $output_filename =base_url() . 'assets/images/croppedImg_'.rand();

    $what = getimagesize($imgUrl);

    switch(strtolower($what['mime']))
    {
        case 'image/png':
            $img_r = imagecreatefrompng($imgUrl);
            $source_image = imagecreatefrompng($imgUrl);
            $type = '.png';
            break;
        case 'image/jpeg':
            $img_r = imagecreatefromjpeg($imgUrl);
            $source_image = imagecreatefromjpeg($imgUrl);
            error_log("jpg");
            $type = '.jpeg';
            break;
        case 'image/gif':
            $img_r = imagecreatefromgif($imgUrl);
            $source_image = imagecreatefromgif($imgUrl);
            $type = '.gif';
            break;
        default: die('image type not supported');
    }

    if(!is_writable(dirname($output_filename))){
        $response = Array(
            "status" => 'error',
            "message" => 'Can`t write cropped File'
        );  

    }else{

        $resizedImage = imagecreatetruecolor($imgW, $imgH);
        imagecopyresampled($resizedImage, $source_image, 0, 0, 0, 0, $imgW, $imgH, $imgInitW, $imgInitH);

        $rotated_image = imagerotate($resizedImage, -$angle, 0);

        $rotated_width = imagesx($rotated_image);
        $rotated_height = imagesy($rotated_image);

        $dx = $rotated_width - $imgW;
        $dy = $rotated_height - $imgH;

        $cropped_rotated_image = imagecreatetruecolor($imgW, $imgH);
        imagecolortransparent($cropped_rotated_image, imagecolorallocate($cropped_rotated_image, 0, 0, 0));
        imagecopyresampled($cropped_rotated_image, $rotated_image, 0, 0, $dx / 2, $dy / 2, $imgW, $imgH, $imgW, $imgH);
        // crop image into selected area
        $final_image = imagecreatetruecolor($cropW, $cropH);
        imagecolortransparent($final_image, imagecolorallocate($final_image, 0, 0, 0));
        imagecopyresampled($final_image, $cropped_rotated_image, 0, 0, $imgX1, $imgY1, $cropW, $cropH, $cropW, $cropH);

        imagejpeg($final_image, $output_filename.$type, $jpeg_quality);
        $response = Array(
            "status" => 'success',
            "url" => $output_filename.$type
        );
    }
    print json_encode($response);
 }

}

any ideas whats going wrong?thank you


回答1:


You can download the source file from this link http://imakeitsolutions.com/croppic/

Try with this code

imagejpeg($final_image, $output_filename.$type, $jpeg_quality);
$response = Array(
    "status" => 'success',
    "url" => base_url(). $output_filename.$type
);


来源:https://stackoverflow.com/questions/31775477/error-when-crop-image-croppic-ci

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!