5

円とテキストが円の内側に沿って曲がっている画像を作成しようとしています。円はアダプティブで、その中のテキストもアダプティブにしたいです。

今まで、曲線のテキストを生成する次のコードがあります。

    $row1="line1";
    $degrees = (130/strlen($row1));
    imageellipse ( $im , 250 , 250 , 390 , 390 , $black );
    imageellipse ( $im , 250 , 250 , 398 , 398 , $black );

    for ($i=0;$i<strlen($row1);$i++) 
    {
    $a = ($degrees*$i)+126-strlen($row1)/3;
    $cos = cos(deg2rad($a));
    $sin = sin(deg2rad($a));
    $x = 0;
    $y = 180;
    $xt = round($cos*($x) - $sin*($y));
    $yt = round($sin*($x) + $cos*($y));
    imagettftext($im,14,180-($a),250+$xt,270+$yt,$red,'fonts\times.TTF',$row1[$i]);
    }

生成された楕円に適応できるように、適応させるにはどうすればよいか教えてください。

4

1 に答える 1

1

お役に立てれば:

     $image = imagecreatetruecolor(400,400);
     $white = imagecolorallocate($image,255,255,255);

    imagefill($image,0,0,$white);

    $red     = imagecolorallocate($image,255,0,0);
    $degrees = (360/strlen($text));

        for($i=0;$i<strlen($text);$i++) 
        {
          $a = ($degrees*$i)+180;
          $cos = cos(deg2rad($a));
          $sin = sin(deg2rad($a));
          $x = 0;
          $y = 180;
          $xt = round($cos*($x) - $sin*($y));
          $yt = round($sin*($x) + $cos*($y));

          imagettftext($image,20,180-($a),200+$xt,200+$yt,$red,"C:/WINNT/Fonts
                       arial.ttf",$text[$i]);
        }
于 2012-11-07T21:09:40.567 に答える