2016-11-14 116 views
-1

我想uplod全宽和全高图像,这是脚本 ,但不知道哪里的错误?如何图像使用imagecreatetruecolor函数调整大小

我想要上传全宽和高(原宽度和高度)图片.. 检查下面的代码一次。此代码返回600 400图像,但我想要原始宽度和高度图像。

<?php 
function create_image($file) { 
    // Content type 
    header('Content-Type: image/jpeg'); 
    header('Content-Type: text/html'); 

    // Get new sizes 
    list($width, $height) = getimagesize($file['tmp_name']); 

    // Load 
    $thumb = imagecreatetruecolor(600, 400); 

    $wmext = explode(".",$file['name']); 
    $wmext = end($wmext); 

    switch ($wmext) { 
     case 'jpg' : 
      $source = imagecreatefromjpeg($file['tmp_name']); 
      break; 
     case 'png' : 
      $source = imagecreatefrompng($file['tmp_name']); 
      break; 
     case 'gif' : 
      $source = imagecreatefromgif($file['tmp_name']); 
      break; 
     default : 
//   progress_log("Resize error for image : $file"); 
    } 

    // Resize 
    imagecopyresized($thumb, $source, 0, 0, 0, 0, 600, 400, $width, $height); 

    $final_file = "Thumb_".time()."_".$file['name']; 
    imagejpeg($thumb,"uploads/".$final_file); 

    //echo '<img src="uploads/'.$final_file.'">'; 
    imagedestroy($thumb); 
    return $final_file; 
} 
?> 
+0

我不明白,如果你想要原始的宽度和高度,你为什么要调整大小?你为什么发送矛盾的标题?或者所有头文件? – jeroen

+0

这个脚本是从谷歌,我试图删除调整大小的代码..你可以删除调整大小代码的工作? –

+0

你应该试试php手册。 – jeroen

回答

1
imagecopyresized($thumb, $source, 0, 0, 0, 0, 600, 400, $width, $height); 

特殊照顾$宽度和$高度右(你想怎么调整后的图像是宽度和高度)应该被替换到图像的原始宽度和高度。

虽然我不是很确定你为什么想调整大小图像的原始大小。它使0有意义。