2012-12-22 19 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

您应先上传文件并保存,然后进行任何调整大小或重新格式化。 –