使用各种扩展名保存图像

时间:2013-04-14 11:14:23

标签: php jquery image jcrop

我在Wordpress项目中使用jcrop。我想知道如何使用其原始扩展名保存图像。就像我的代码只适用于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);

1 个答案:

答案 0 :(得分:0)

<?php
    $imageObject = imagecreatefromjpeg($imageFile); //Your jpg image created with your code
    imagegif($imageObject, $imageFile . '.gif');
    imagepng($imageObject, $imageFile . '.png');
    imagewbmp($imageObject, $imageFile . '.bmp');
?>