2017-08-03 9 views
1

Croppicの例を使用して、一部の画像を切り抜くときに画像の1つ以上の辺に境界線が残ることがあります。例:PHPクロッピングサイズ変更によって枠が作成される

enter image description here

ここでは、私は、画像を処理するために使用していたコードです:

 // original sizes 
    $imgInitW = $request->get('imgInitW'); 
    $imgInitH = $request->get('imgInitH'); 
    // resized sizes 
    $imgW = $request->get('imgW'); 
    $imgH = $request->get('imgH'); 
    // offsets 
    $imgY1 = $request->get('imgY1'); 
    $imgX1 = $request->get('imgX1'); 
    // crop box 
    $cropW = $request->get('cropW'); 
    $cropH = $request->get('cropH'); 
    // rotation angle 

    $output_filename = sys_get_temp_dir() . "/croppedImg_" . rand(); 

    $source_image = imagecreatefromjpeg($media->getPath()); 

    $type = '.jpeg'; 

    // resize the original image to size of editor 
    $resizedImage = imagecreatetruecolor($imgW, $imgH); 

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

    // rotate the rezized image 
    $rotated_image = imagerotate($resizedImage, -$angle, 0); 
    // find new width & height of rotated image 
    $rotated_width = imagesx($rotated_image); 
    $rotated_height = imagesy($rotated_image); 
    // diff between rotated & original sizes 
    $dx = $rotated_width - $imgW; 
    $dy = $rotated_height - $imgH; 
    // crop rotated image to fit into original rezized rectangle 
    $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); 
    // finally output png image 
    //imagepng($final_image, $output_filename.$type, $png_quality); 
    imagejpeg($final_image, $output_filename . $type, '100'); 

私はcroppic windowに可能な限り画像を縮小するときこれは通常のみ発生します。

私は紛失しており、見つけることができるすべてのパラメータを調整しようとしました。何か案は?

答えて

0

実際には、答えはhereです。私はフォークされたバージョンを適用し、それは動作しています。

関連する問題