2013-04-14 128 views
0

我在我的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); 

回答

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