Intereting Posts
Windows: XAMPP vs WampServer vs EasyPHP против альтернативы Можно добавить цвет фона к прозрачному изображению с помощью GD и PHP Терминал, передающий аргументы из переменной, содержащей пробелы Ресурс PHP Session + MySQL как я могу получить доступ к моему приложению laravel с другого компьютера? Отображение возможных комбинаций строк PHP удаляет первые нули Динамический белый список с htaccess, позволяющий форме добавить IP-адрес в белый список? Перемещение фотографии, загруженной с помощью Dropzone.js и PHP PHP: imageftbbox как я могу игнорировать обратные ссылки в codeigniter при использовании активных записей? мне нужно заказывать по делам Как удалить магические кавычки, если php.ini / .htaccess не редактируются? Неустранимая ошибка: Недостаточно памяти (выделено 1134559232) (попытался выделить 32768 байт) в X: \ wamp \ www \ xxx Получить ключ JSON. Сопоставив значение ключа под-объекта PHP: как написать файл на диск с символами Unicode

ImageMagick – текст в прямоугольник

Я очень новичок в ImageMagick – я прочитал документацию, и теперь я пришел в первую реальную ситуацию. У меня есть изображение (300 * 500), и у меня есть текст, который должен быть как можно лучше (максимально возможный) в 20% от верхней части изображения. Так что текст должен быть в прямоугольнике 300 * 100, остальная часть изображения останется прежней. Возможно ли это с помощью магии изображения? Каков наилучший способ сделать это?

Я ищу решение для командной строки или расширения php. Простая иллюстрация ниже

Простая иллюстрация

Поскольку вы не предоставили образец изображения для тестирования и применения некоторого текста, я создал его с помощью следующей команды:

convert \ http://i.stack.imgur.com/RfJG6.png \ -crop 312x513+579+0 +repage \ so#12231624-right.png 

Используя полученное изображение в качестве входа, запустите эти три команды, чтобы увидеть, как это будет работать (в Linux или Mac OS X):

 width=$(identify -format %W so#12231624-right.png) convert \ -background '#0008' \ -gravity center \ -fill white \ -size ${width}x100 \ caption:"This is a sample text to test \ the automatic sizing of fonts by ImageMagick." \ so#12231624-right.png \ +swap \ -gravity north \ -composite \ output1.png convert \ -background '#0008' \ -gravity center \ -fill white \ -size ${width}x100 \ caption:"This is a even longer sample text. \ It also serves to test if automatic sizing of fonts \ by ImageMagick works as expected: just don't specify \ any fontsize, and let ImageMagick go for the best fit..." \ so#12231624-right.png \ +swap \ -gravity north \ -composite \ output2.png 

Результирующие изображения:

пример вывода 1пример вывода 2

(Результат не соответствует именно вашему кадру – но это только потому, что у моего тестового файла все еще есть белая, незаполненная рамка (как часть изображения), которую я не удосужился удалить …)

Другими словами: просто не беспокойтесь указывать размер шрифта с помощью -fontsize . Только укажите размер региона, который должен иметь текстовую аннотацию. Тогда ImageMagick автоматически выберет наилучший соответствующий размер шрифта и будет использовать его.