2011-01-26 37 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' boolを返し、 'imagecreatefromjpeg'は文字列をとります。 – alexn

+0

@alexn - その理由は、私は後でimagejpegを持っている – t0mgs

+0

alexnがimagecreatefromjpegが文字列( "JPEG画像へのパス")を書き込んだので、$ newimage_1がboolであるようです。 – Marcin

答えて

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または他のいくつかの

+0

ありがとうございました。 – t0mgs

+0

np。それがうれしい! ;) – FeRtoll

関連する問題