Оптимальный размер текста для наложения на картинку

Регистрация
23.03.2015
Сообщения
1 218
Благодарностей
751
Баллы
113
Всем привет.
Есть картинка 640 на 480 пикселей. На неё нужно наложить текст. Длина текста от одного слова до двух приложений. Как сделать так, чтобы Zennoposter подбирал шрифт так, Чтобы текст влазил полностью, но при этом был максимально большим?
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Ну я бы что-то такое сбацал, а размеры шрифтов для начала прикинул бы вручную. Но нужно учитывать, что один и тот же кегль у разных шрифтов имеет разную высоту (это к тому, что если будет использоваться несколько шрифтов, придется переделывать, типа если шрифт такой-то и слов столько-то тогда размер такой-то). Если вариантов много, можно switch вместо if-ов юзать
C#:
string input = "Фраза, в которой нужно посчитать количество слов";
//массив, длина которого подсчитывается с поомощью св-ва Lenght
//со знаками препинания не заморачивался, т.к. они вряд ли серьезно повлияют на длину текста
string[] arr = input.Split(' ');

if(arr.Length <= 2 )
{
    //размер шрифта
}
else if(arr >= 2 && arr <= 5)
{
    //размер шрифта
}
//и т.д.
 
Последнее редактирование:

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Регистрация
23.03.2015
Сообщения
1 218
Благодарностей
751
Баллы
113

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Нужно будет разобраться как это всё работает
Это самый правильный путь.
В цикле сравниваешь размер текста с учетом отступов и размер картинки постепенно увеличивая размер шрифта. Как условие сложится, обрываешь цикл и сохраняешь размер.
Код есть в моём шаблоне в конкурсе статей. Статья по работе с графикой.
 

nicanil

Client
Регистрация
06.03.2016
Сообщения
2 242
Благодарностей
1 820
Баллы
113
Можно ImageMagick для этого использовать. Запускать как стороннюю программу

Пример команды convert.exe in.jpg -font Arial -size 640x480 -background none -fill "#0ced1b" caption:"Какой-то длинный текст из большого количества символов" -composite out.jpg

Это только пример команды. IM очень мощный инструмент с обширным функционалом. Даже на форуме среди конкурсных тем есть несколько по работе с ImageMagick.

К сообщению приложил шаблон. Рядом с шаблоном должна лежать папка IM в которой файлы ImageMagick. Скачать можно здесь. Я использовал портабельную версию - ImageMagick-7.0.10-43-portable-Q16-x64

67746
67747
 

Вложения

  • 78,2 КБ Просмотры: 97

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)