我正在将注释文本添加到newPseudoImage,它工作正常,但我想使文本比例适合图像大小.
我有什么想法可以做到这一点?
$im = new Imagick();
$draw = new ImagickDraw();
$draw->setFillColor($color);
$draw->setFont($font);
$draw->setFontSize(($width, $height) / 100) * 15);
$draw->setGravity(Imagick::GRAVITY_CENTER);
$im->newPseudoImage($width, $height, "canvas:{$bg}");
$im->annotateImage($draw, 0, 0, 0, $text);
$draw->clear();
$draw->destroy();
$im->setImageFormat('gif');
header("Content-Type: image/gif");
echo $im;
Run Code Online (Sandbox Code Playgroud)
我想你可以使用imageftbbox功能来帮助你.
这将为您提供文本字符串的边界框,具有给定的ttf字体,大小和角度.
只要文本不适合图像,您就可以创建一个增加或减少字体大小的循环.
<?php
$bbox = imageftbbox(12, 0, 'Arial.ttf', 'This is a test');
$width_of_text = $bbox[2] - $bbox[0];
Run Code Online (Sandbox Code Playgroud)
$width_of_text
只要字体不符合您的喜好,您就可以查看并调整字体大小.请记住,随着字体的增加,宽度和高度都会增加.
取决于您尝试将其缩放到可能有帮助的地方.
归档时间: |
|
查看次数: |
5328 次 |
最近记录: |