无法显示图像,因为它包含错误[图像生成器]

时间:2013-08-13 11:00:36

标签: php image gd

图像生成器有些问题。也许你会发现问题是什么?我得到:“图像因为包含错误而无法显示”,我正在下载图像文件,但没有错误。

<?php
if(isset($_GET['id']) && $_GET['id']){
//  require('../libs/global.inc.php');
    $id = $_GET['id'];
    $imagePath = "gov_220.jpg";//$track->getImg($id);
    $framePath = "otgFrame.png";
    $fontsize = 14;
    $font = 'times.ttf';
    $artistName = "bla bla";//$view->CutTheName("by ".$track->getArtist($id), 16);
    //$artistName = iconv(mb_detect_encoding($artistName, mb_detect_order(), true), "UTF-8", $artistName);
    $trackName = "la la";//$view->CutTheName($track->getName($id),16);
    $photo = imagecreatefromjpeg($imagePath);
    $w = imagesx($photo);
    $h = imagesy($photo);

    $new_image = imagecreatetruecolor(200, 200);
    imagecopyresampled($new_image, $photo, 0, 0, 0, 0, 200, 200, $w, $h);

    imagealphablending($new_image,true);

    $frame = imagecreatefrompng($framePath);    
    imagecopy($new_image,$frame,0,0,0,0,200,200);
    $fontcolor = imagecolorallocate($new_image, 255, 255, 255);
    imagettftext($new_image, $fontsize, 0,2,177,$fontcolor, $font, $trackName );
    $fontcolor = imagecolorallocate($new_image, 246, 228, 6);
    imagettftext($new_image, $fontsize, 0,2,196,$fontcolor, $font, $artistName );
    header('Content-type: image/png');
    imagepng($new_image);
    imagedestroy ($new_image);
}
?>

2 个答案:

答案 0 :(得分:5)

在文本编辑器中打开图像,我想你会在那里找到php的警告。

答案 1 :(得分:3)

删除header('Content-type: image/png');并将文件名添加到imagepng($new_image,"Test.png",9);,可能已解决了您的问题..

并将该图像与HTML的img标签一起使用。即<img src="Test.png" alt="">