Пишу бота для телеграмм, столкнулся с такой проблемой что не могу автоматически подогнать размер шрифта под изображение. Пользователь может прислать любой размер изображения от 300x300px до 2500px и соответственно на больших изображениях текста практически не видно. На маленьких он огромен. Делать условия типа
if(imgWidth == 300 && imgHeight = 300) $textSize = 12;
не самое удачное решение, уверен что есть более простой способ. В общем буду благодарен за любую информацию.
Можно написать функцию относительную размеров шрифта и размера картинки
function relationship ($value)
{
if ($value >= 300 && $value <= 2500)
{
$size = 6;
return round($size += $value / 100 * 2);
}
}
Например, мы берем размер 300x300, пишем
$size = relationship(300); // получаем размер текста 12
$size = relationship(400); // получаем размер текста 14
Думаю принцип понятен, далее можешь сам изменить функцию под свои значения
Сборка персонального компьютера от Artline: умный выбор для современных пользователей