2011-01-26 65 views
0

我有这个脚本,它只保存图像在$image,而不是图像在$newimage_2.帮助?php gd脚本不能正常保存图像

<?php 


$newimage_1 = imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, $opacity); 
$newimage_2 = imagecreatefromjpeg($newimage_1); 

// print image to screen 
header("content-type: image/jpeg"); 
imagejpeg($image); 
imagejpeg($newimage_2); 
imagedestroy($image); 
imagedestroy($watermark); 
imagedestroy($newimage_2); 

?> 
+2

不会对您问题的解决方案,但`imagecopymerge`返回一个布尔值,`imagecreatefromjpeg`接受一个字符串。 – alexn 2011-01-26 15:19:59

+0

@alexn - 这就是为什么我以后有imagejpeg – t0mgs 2011-01-26 15:20:55

回答

1
$source_file_path=$_FILES["image"]["tmp_name"]; 
$src = imagecreatefromjpeg($source_file_path); 
list($width,$height)=getimagesize($source_file_path); 
$newwidth=540; 
$newheight=round(($height/$width)*$newwidth); 
$tmp=imagecreatetruecolor($newwidth,$newheight); 
imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); 
$target_file_path = "images/".$filewhereyouwanttosaveit; 

$watermark = imagecreatefrompng('imgs/copyright.png'); 
$watermarkwidth = imagesx($watermark); 
$watermarkheight = imagesy($watermark); 
$startwidth = ($newwidth - $watermarkwidth); 
$startheight = ($newheight - $watermarkheight); 
imagecopy($tmp,$watermark,$startwidth,$startheight,0,0,$watermarkwidth,$watermarkheight); 
imagegif($tmp,$target_file_path); 

你可能不需要调整大小,但代码可以帮助你......

imagegif或JPG或PNG或其他一些