我正在参加一个cordova项目。我在服务器端使用Jquery和Jcrop插件以及Php gd。 当我上传用户的头像时,我尝试裁剪图片。 上传进展顺利,但作物没有任何反应。
php代码:
if(move_uploaded_file($file,$dirname."/avatar.jpeg")){
$targ_w = $targ_h = 150;
$src = $dirname.'/avatar.jpeg';
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['avatar_x'],$_POST['avatar_y'], $targ_w,$targ_h,$_POST['avatar_w'],$_POST['avatar_h']);
}else{...}
我没有错误消息
答案 0 :(得分:2)
没有任何事情发生,因为你没有对结果做任何事情。见the documentation for imagecopyresampled
:
imagecopyresampled()
将从src_image
[...]取一个矩形区域,并将其放置在dst_image
的矩形区域内。
运行此函数后,结果将显示在$dst_r
中,它仍然是内存中的图像资源。您现在必须将其保存到文件中。这可以使用imagejpeg
function来完成,例如:
imagejpeg($dst_r, "$dirname/avatar_cropped.jpeg");