1

SQL select から動的に生成されたテキストを、GD ライブラリで作成された画像に配置したいと考えています。これを使用して画像を作成し、その上にテキストを配置していますが、変数 $users を sql select データとともに画像に配置したいと考えています。

$query = "SELECT id, name FROM users WHERE .... ORDER BY id DESC";
while ($line = mysql_fetch_assoc($query)) {

  $users .=  "<img src='https://www.example.com/" . $line['id'] . "/photo'/>&nbsp;" . $line['name'] . "<br />";
}



function  create_image(){
    $im = @imagecreate(550, 600)or die("Cannot Initialize new GD image stream");
    $background_color = imagecolorallocate($im, 255, 255, 0);  // yellow
    $red = imagecolorallocate($im, 255, 0, 0);      // red

    imagestring($im, 1, 5,  10, $users);
    imagestring($im, 2, 5,  50, "Text 2", $red);

    imagepng($im,"image.png");
    imagedestroy($im);
}

create_image();
print "<img src=image.png?".date("U").">";

$user 変数のテキストが表示されません。どうすればよいですか?

ありがとう

4

1 に答える 1

1

以下は、png 画像にテキストを描画する方法の例です。

$img = imagecreatefrompng($image_path); //$image_path -> on which text to be drawn
        @imagealphablending($img, true);
        @imagesavealpha($img, true);
$textColor = imagecolorallocate($img, 100, 100, 98);
$font = '../fonts/Arial.ttf';

imagettftext($img, 18, 0, 140, 285,$textColor,$font, $name); // $name -> dynamic text to be drawn on image
$path = "path where you want to save created image";

$image = imagejpeg($img, $path);
imagedestroy($img);

終わり..

于 2013-04-18T06:09:22.743 に答える