Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php imagettfbbox&;imagettftext-调整大小、定位、旋转_Php_Imagettftext - Fatal编程技术网

Php imagettfbbox&;imagettftext-调整大小、定位、旋转

Php imagettfbbox&;imagettftext-调整大小、定位、旋转,php,imagettftext,Php,Imagettftext,好的,现在正式的10个小时我都在努力实现这一目标,但每一分钟我都离最终目标越来越远…… 问题是,我需要创建一个函数、类或任何由所选TTF或truetype字体创建的东西,正确调整大小,并用url给定的文本填充图像。图像不应该比文本长。 我已经放弃了我所有的密码,到目前为止,我得到的最好的东西是从网络上 <?php if(!isset($_GET['size'])) $_GET['size'] = 20; if(!isset($_GET['text'])) $_GET['text']

好的,现在正式的10个小时我都在努力实现这一目标,但每一分钟我都离最终目标越来越远……
问题是,我需要创建一个函数、类或任何由所选TTF或truetype字体创建的东西,正确调整大小,并用url给定的文本填充图像。图像不应该比文本长。 我已经放弃了我所有的密码,到目前为止,我得到的最好的东西是从网络上

<?php
  if(!isset($_GET['size'])) $_GET['size'] = 20;
  if(!isset($_GET['text'])) $_GET['text'] = "Moj tekst";
  $get_font = ( isset( $_GET['font'] ) ) ? $_GET['font'] : 'arial';

  $size = imagettfbbox($_GET['size'], 0, "font/".$get_font.".ttf", $_GET['text']);
  $xsize = abs($size[0]) + abs($size[2]);
  $ysize = abs($size[5]) + abs($size[1]);

  $image = imagecreate($xsize, $ysize);

  imageSaveAlpha($image, true);
  ImageAlphaBlending($image, false);

  $transparentColor = imagecolorallocatealpha($image, 200, 200, 200, 127);
  Imagefill($image, 0, 0, $transparentColor);

  $blue = imagecolorallocate($image, 0, 0, 255);
  $white = ImageColorAllocate($image, 255,255,255);
  $black = ImageColorAllocate($image, 0,0,0); //-($_GET['size']/20)
  imagettftext($image, $_GET['size'], 0, abs($size[0]), abs($size[5]), $black, "font/".$get_font.".ttf", $_GET['text']);

  header("content-type: image/png");
  imagepng($image);
  imagedestroy($image);
?>

这段代码还可以,尽管最后一个或第一个后一个的边缘有时部分隐藏,或者只是它不适合创建的图像(取决于字体大小),这不是较小字体的问题。我真正需要的功能是通过改变图像的旋转来改变整个图像的比例,从而使文本适合

例如:


另外,如果有完成的函数或类可以完成此操作,那将非常好(:)

如果你总是在开头的末尾缺少一个字母,为什么不把一个字母的宽度加到你的最终尺寸上呢

根据我的经验,imagettfbbox不能很好地确定边界框中适合和不适合的内容-您需要自己对其进行一点修改:)

希望这有帮助

卢克·彼得森