18

この例に従って、動的テキストを含む画像を生成しようとしています。

フォントのサイズを変更したかったので、4 ではなく 100 にしましたが、以前と同じように表示されます。

私はPHPがあまり得意ではありません。あらゆる種類の助けをいただければ幸いです。

これは、それがどれほど小さく見えるかの例です:(

これが私のコード例です-

       $font = 'arial.ttf'; //FONT SIZE

       $width = imagefontwidth($font) * strlen($string) ;
       $height = imagefontheight($font) ;
       $im = imagecreatefrompng($imageO);

       $x = imagesx($im) / 2;   //PLACEMENT CENTERISH – X
       $y = imagesy($im) / 2;   //PLACEMENT CENTERISH – Y

      // $backgroundColor = imagecolorallocate ($im, 255, 255, 255);

       $transparency = 25;
       imagesavealpha($im, true);
       $background = imagecolorallocatealpha($im, background_r, background_g, background_b, $transparency);

       $textColor = imagecolorallocate ($im, 0,0,0);
       imagestring ($im, $font, $x, $y, $string, $textColor);
       imagepng($im,$imageN[$k]);
       $w = imagesx($im);
       $h = imagesy($im);

ありがとう

後で追加

さて、ここで私が行ったことですが、その結果、吹き出しボックスにテキストが表示されません。

       $font = 'arial.ttf'; //YOUR FONT SIZE

       $im = imagecreatefrompng($imageO);
       $string = "My Text";
       $imageN ="NewImage.png";

       $transparency = 25;
       imagesavealpha($im, true);
       $background = imagecolorallocatealpha($im, background_r, background_g, background_b, $transparency);

       $textColor = imagecolorallocate ($im, 0,0,0);
       //imagestring ($im, 5, $x, $y, $string, $textColor);
       imagettftext($im, 36, 0, 10, 20, $textColor, $font, $string);
       imagepng($im,$imageN);
4

5 に答える 5

21

100を入れることはできません-http://php.net/manual/en/function.imagestring.php

1〜5のみ(デフォルト)

アップデート

フォントサイズを完全に制御できるようにするには、http://php.net/manual/en/function.imagettftext.phpを使用することをお勧めします。

例(同じサイトから):

<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
于 2012-06-08T19:06:32.910 に答える
1

選択した任意のフォントでより大きなテキストを書きたい場合は、imagettftext を使用することをお勧めします。

http://php.net/manual/en/function.imagettftext.php

于 2012-06-08T19:10:51.320 に答える