Php imagettfbbox&;imagettftext-调整大小、定位、旋转
好的,现在正式的10个小时我都在努力实现这一目标,但每一分钟我都离最终目标越来越远……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']
问题是,我需要创建一个函数、类或任何由所选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不能很好地确定边界框中适合和不适合的内容-您需要自己对其进行一点修改:) 希望这有帮助 卢克·彼得森