2012-12-22 17 views
5

你好,我有問題後,使圖像顯示對象。 我仍然在學習使用對象圖像。 因此,這裏是我的代碼:imagecreatefromjpeg無法正常工作

$what = getimagesize($file); 
switch(strtolower($what['mime'])){ 
    case 'image/png' : $src_id = imagecreatefrompng($file); imagesavealpha($src_id,true) ; break; 
    case 'image/jpeg': $src_id = imagecreatefromjpeg($file); break; 
    case 'image/gif' : $old_id = imagecreatefromgif($file); $src_id = imagecreatetruecolor($what[0],$what[1]); imagecopy($src_id,$old_id,0,0,0,0,$what[0],$what[1]); break; 
    default: die(); 
} 
header('Content-Type: image/jpeg'); 
imagejpeg($scr_id); 
imagedestroy($scr_id); 
die(); 

瀏覽器輸出空白圖像與文字「圖像」。 在$文件我給文件的URL。 任何想法?

+0

您是否檢查過$ src_id不是false? – Codler

回答

9

這爲我正確地測試了出來。

<?php // RAY_temp_andrey.php 
error_reporting(E_ALL); 

$file = 'http://laprbass.com/RAY_EE_images/headshot.png'; 
$file = 'http://laprbass.com/RAY_EE_images/headshot.jpg'; 
$file = 'http://laprbass.com/RAY_EE_images/headshot.gif'; 

$what = getimagesize($file); 

switch(strtolower($what['mime'])) 
{ 
    case 'image/png': 
     $img = imagecreatefrompng($file); 
     break; 
    case 'image/jpeg': 
     $img = imagecreatefromjpeg($file); 
     break; 
    case 'image/gif': 
     $img = imagecreatefromgif($file); 
     break; 
    default: die(); 
} 
$new = imagecreatetruecolor($what[0],$what[1]); 
imagecopy($new,$img,0,0,0,0,$what[0],$what[1]); 

header('Content-Type: image/jpeg'); 
imagejpeg($new); 
imagedestroy($new); 
+0

感謝您測試它,我真的很感謝您的幫助。可以在他代碼中的某處使用此功能 - 我可以給臨時文件或我必須保存它(這是我的調整大小功能)?$ Img = Images :: DoImage( $ _FILES [ 「圖像」] [ 「tmp_name的值」],200,300); – Andrey

+2

您應先上傳文件並保存,然後進行任何調整大小或重新格式化。 –