我jcrop
在我的 Wordpress 项目中使用。我想知道如何使用原始扩展名保存图像。就像我的代码只适用于jpg
图像。我将裁剪的图像保存到服务器。这是我的PHP代码:
if(isset($_POST['saveCrop']))
{
$targ_w = $targ_h = 150;
$jpeg_quality = 90;
$src = plugins_url( "employee/uploads/".$_POST['imgName'] , dirname(__FILE__) );
$img_r = imagecreatefromjpeg($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);
header('Content-type: image/jpeg');
@imagejpeg($dst_r, $_SERVER['DOCUMENT_ROOT']."/wp-content/plugins/employee/uploads/".$_POST['imgName'], $jpeg_quality);
//imagejpeg($dst_r,null,$jpeg_quality);
}
如果我尝试使用png
图像,我会得到一个黑色的。同样的事情发生在gif
. 我怎样才能让它与所有扩展一起工作并使用它的原始扩展保存(jpg 代表 jpg,png 代表 png)。
更新::
*好的..为了创建 png 文件,我正在尝试这段代码。我确定我做错了什么: *
$img_r = imagecreatefrompng($src);
$dst_r = ImageCreateTrueColor( $targ_w, $targ_h );
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);
header('Content-type: image/png');
@imagepng($dst_r, $_SERVER['DOCUMENT_ROOT']."/wp-content/plugins/employee/uploads/".$_POST['imgName'], $jpeg_quality);