-3

キャプチャ用のphpファイルがあります。しかし、画像はウェブページにはありません。何が問題なのかわかりません。私を助けてください。これが私のコードです。

<?php
ob_start();
session_start();
// Set the content-type
header('Content-Type: image/jpeg');
mimetypes.add_type('application/font-ttf', '.ttf', True)
// Create the image
$im = imagecreatefromjpeg('bg.jpg');

// Create some colors
$R = rand(0,100);
$G = rand(0,100);
$B = rand(0,100);

$cc = imagecolorallocate($im, $R, $G, $B);


// The text to draw
$text = rand(100,10000);
$_SESSION['text'] = $text;
// Replace path by your own font path
$font = 'arial.ttf';



// Add the text
imagettftext($im, rand(40,45), rand(0,1), rand(10,70), rand(38,50), $cc, $font, $text);
$NumberOfLines=15;
imagecolorallocate($im, 15, 142, 210);

$cc=0;
while($cc < $NumberOfLines){
// set random color:::

//assign random rgb values
$c1 = mt_rand(50,200); //r(ed)
$c2 = mt_rand(50,200); //g(reen)
$c3 = mt_rand(50,200); //b(lue)
//test if we have used up palette
if(imagecolorstotal($im)>=255) {
    //palette used up; pick closest assigned color
    $color = imagecolorclosest($im, $c1, $c2, $c3);
} else {
    //palette NOT used up; assign new color
    $color = imagecolorallocate($im, $c1, $c2, $c3);
}

// done...
$startH =rand(3,200);
$startTOP = rand(0,8);
$stopH=rand(3,200);
$stopTOP =50;

imageline($im, $startH, $startTOP, $stopH, $stopTOP, $color);
$cc++;
}

// Using imagepng() results in clearer text compared with imagejpeg()
imagejpeg($im);
imagedestroy($im);
?>

このスクリプト ファイルの名前は img.php で、 img src='img.php' のようにimgタグの src として設定されます。ここで、arial.ttf ファイルは、この php ファイルと同じフォルダーにあります。これを手伝ってください。このキャプチャ イメージは読み込まれていません。

4

1 に答える 1

0

最初に ob_start() コマンドを削除します。あまり意味がありません(少なくとも私には)。次に、ヘッダー (..) 行のコメントを外して、ブラウザーにエラー メッセージが表示されるようにします。コードを起動して実行するには、次のことを行う必要がありました。

  • mimetypes 行を削除しました (これは PHP ですか? はいの場合、セミコロンがありません)
  • スクリプトはフォントを見つけられませんでした - 絶対パスを使用して権限を正しく設定する必要がありました

デバッグが完了し、ブラウザー ウィンドウに派手な文字が表示されたら、ヘッダー (..) 行を再度追加します。

于 2013-08-18T08:10:41.807 に答える