4

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

<?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);
}
?>
4

2 回答 2

6

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

于 2013-08-13T11:06:34.850 回答
3

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

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

于 2013-08-13T12:56:50.187 回答