以下代码适用于我的笔记本电脑,但在远程服务器上不起作用:
<?PHP error_reporting(E_ALL); ini_set('display_errors','1'); $filename = "../../content/".base64_decode($_GET["file"]); $ext = pathinfo($filename,PATHINFO_EXTENSION); if ($ext=="jpg" || $ext=="jpeg") { $image_s = imagecreatefromjpeg($filename); } else if ($ext=="png") { $image_s = imagecreatefrompng($filename); } $width = imagesx($image_s); $height = imagesy($image_s); $newwidth = 285; $newheight = 232; $image = imagecreatetruecolor($newwidth,$newheight); imagealphablending($image,true); imagecopyresampled($image,$image_s,$newwidth,$newheight,$width,$height); // create masking $mask = imagecreatetruecolor($width,$height); $mask = imagecreatetruecolor($newwidth,$newheight); $transparent = imagecolorallocate($mask,255,0); imagecolortransparent($mask,$transparent); imagefilledellipse($mask,$newwidth/2,$newheight/2,$transparent); $red = imagecolorallocate($mask,0); imagecopy($image,$mask,$newheight); imagecolortransparent($image,$red); imagefill($image,$red); // output and free memory header('Content-type: image/png'); imagepng($image); imagedestroy($image); imagedestroy($mask); ?>
它在我的笔记本电脑上显示以下图像:
http://i.stack.imgur.com/Aai1r.png
这就是它在远程服务器上的显示方式:
http://i.stack.imgur.com/77fbV.png
你怎么看?有什么问题?
改变了行:
imagecopy($image,$newheight);
至:
imagecopymerge($image,100);