эффекты на фото

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Как сделать простые эффекты (искажения картинок). Чтобы забавно выходило...

Например content-aware scaling есть эффект, его можно на шарпе сделать?

А также нормальную надпись на картинку по центру. Как генератор мемов тут http://risovach.ru/add-generator

Встроенный кубик работа с изображениями очень криво даже надписи на картинки делает, невозможно настроить красиво, как-то пытался.
 
  • Спасибо
Реакции: Mikhail B.

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Скачал портабл imagemagick
Кто в ней разбирается, как создать мем с ее помощью?

Нагуглил это, указываю в параметрах запуска, нифига не работает

Single Line :
You shouldn't need to adjust the annotate(postitioning of the text).

convert Origin-image.jpg -font Impact-Regular -fill white -pointsize 29 -stroke black -strokewidth 2 -gravity south -annotate +0+0 'BLAH BLAH BLAH' Dest-image.jpg

Multi lines:

convert Origin-image.jpg -font Impact-Regular -fill white -pointsize 29 -stroke black -strokewidth 2 -gravity southeast -annotate +25+25 'BLAH BLAH BLAH' -gravity south -annotate +0+0 Dest-image.jpg
 

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Итак, чтобы создать мемас посредством imagemagick вот код
Обратите внимание, кавычки только такие " можно использовать, моя ошибка была в этом.

Но такая проблема, как сделать подгонку шрифта под размер картинки?

Код:
C:\Users\****\1.jpg -font Impact-Regular -fill white -pointsize 50 -strokewidth 2 -gravity North -annotate +5+5 "Чтобы создать мем" -gravity south -annotate +5+5 "Надо его создать" C:\Users\****\2.jpg
 

Astraport

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
  • Спасибо
Реакции: inotoxic

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Что-то форум совсем дохлый, пищу в итоге темы чтобы сам их решить полностью.

1) Берем количество символов в верхнем и нижнем тексте
2) Определяем в каком больше символов
3) Ширину картинки делим на число символов текста
4) Полученное число умножаем на 1.5-1.7

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Эта формула работает до 700 пикселей. Если маленькая картинка то на 0.8 умножить...
Но там нифига не видно если много текста на маленькой картинке ))
 

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63
Что-то форум совсем дохлый
Выходные.

Шрифты бывают разными, как по ширине, так и по размеру. Универсально только через c#
Буквы о, а, ш, щ - занимают разное место, поэтому просто умножить и разделить, покажет лишь примерный размер.
Поэтому, самой широкой буквой заполняем картинку, узнаём сколько символов.

Дальше считаем не размер, а количество символов в строке.
 

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Я тут выше немного наплёл бреда, попутал ширину и высоту картинки в переменной ))

Для жирного шрифта ширину картинки делим на количество символов строки и умножаем на 1.2.

Для мелких картинок < 700 пикселей в ширину черная обводка белого шрифта не нужна. Для крупных нужна.
 

Astraport

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Astraport

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Если ты внимательно посмотришь, то увидишь, что я это уже сделал. Вчера.
название метода я могу и нагуглить, тут ума не надо. А как это работает в зеннопостере я не знаю
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
название метода я могу и нагуглить, тут ума не надо.
Сильно сомневаюсь, что ты бы смог связать свою проблему с методом MeasureString.
Там суть в том, что на вход подсовывается строка с шрифтом и потом вычисляется её размер. Если он больше или меньше желаемого, то меняем.
Делается это в цикле и, само собой, только в C#.
Другого правильного и универсального решения нет, но подбором ты сможешь конечно как-то приблизить решение к приемлемому финалу.
 

Astraport

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18
Astraport, там речь же о преобразовании текста в картинку. А мне надо наоборот текст на картинку...
На изобретение этого велосипеда понадобится долгое время, а простое деление-умножение это пять минут и результат тот же на глаз.
 

Astraport

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

Кличко

Пользователь
Регистрация
22.03.2019
Сообщения
103
Благодарностей
5
Баллы
18

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Ты умеешь гуглить, но не умеешь помогать.
А зачем мне гуглить, я этими методами тысячи таких картинок генерирую не первый год. И помогать я тоже умею, но тебе ничего не поможет))
Look-at-Watts-9891.jpg
 

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63

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