Dank Meme Generator


29

Мне нравится делать промо-мемы из моих собственных изображений. Но на всех этих так называемых «быстрых мемах» просто слишком много кода . Я понял, что единственный способ создать самый грязный генератор мемов - это попросить вас, ребята из PPCG, сыграть в гольф для меня. Итак, позвольте мне рассказать вам о том, что вы должны делать.

Спекуляции

  • Возьмите изображение в качестве ввода в качестве имени файла, объекта изображения и т. Д., Чтобы создать мем.
  • Затем возьмите две строки для верхнего текста и нижнего текста (без разрывов строк).
  • Рендеринг текста на изображении в размере 22pt белого шрифта с черным контуром 5px (Вы можете предположить, что Impact установлен.
  • Текст должен быть центрирован по горизонтали.
  • Вы можете предположить, что текст помещается горизонтально.
  • Соответствующие тексты должны быть 10px сверху и 8px снизу.
  • Затем выведите изображение, сохранив его в файле, отобразив и т. Д.
  • Это , поэтому выигрывает самый короткий код в байтах !

С Днем памяти!


1
Можно ли предположить, что шрифт Impact установлен?
Вниз

@ Даунгоат, да.
Maltysen

9
... совет животным? Это то, что вы называете промозглым мемом?
девять

5
Эти мемы совсем не сыты. Это как начальная ступень мемоологии.
Пирит

2
@Pyritie Не всем нужно позволять владеть магией мемов.
Hownowbrowncow

Ответы:


13

HTML / JS / CSS, 341 329 300 байт

<input onblur=i.src=this.value><table><td><img id=i><p style=top:10px contenteditable><p style=bottom:8px contenteditable></p><style>td{position:relative}p{position:absolute;margin:0;width:100%;text-align:center;font:22px Impact;color:#fff;text-shadow:0 0 5px #000,0 0 5px #000,0 0 5px #000,0 0 5px #000}

Использование: сначала вставьте URL-адрес нужного изображения в соответствующее поле ввода, затем перейдите к верхнему тексту и введите нужный текст, затем перейдите к нижнему тексту и введите нужный текст.

Изменить: 12 байтов сохранены благодаря @Downgoat. Сохранено еще 29 байтов благодаря @ dev-null.


Вы можете, вероятно, удалить много цитат в HTML. Вы также можете удалить ></div>в конце
Downgoat

Вы можете изменить pтеги вашего margin:0;
div'а

@ dev-null После предложения Downgoat теперь он стоит мне байт, а не спасает байт.
Нил

@Neil Это правильно, но если вы также переместите тег style в конец, вы сможете удалить</style>
andlrc

@ dev-null Ну, по крайней мере, я могу избавиться от первого </ p> (второе необходимо, чтобы вы не нажимали Ctrl + A, Del для удаления элемента стиля).
Нил

12

Желе, 141 байт

⁴;@€“¢ÇẎȧsẊỊ>ɼẈAẋ®ŀȮĠq⁼ṫṁḢĠZỴċƊ£²ÆṗÑḊ°>oÆl{(¢ɗpḅ]µṖÑb¹ƁịṾ¦Ç\ṭO4»“1kịXḥɗ"Ụɦḷ©Ƈ&Ṭ19“£ŀ³³.Ṗ<ṂqṬỵ.ṣȦƇƈ2ƭḂXƊ»ż³;“ßƑ_!]²Rȧ⁵⁴°ṁD⁽a{⁼!z¿ıṾƇDẇḤḶṡÇẈg»;

Попробуйте онлайн!

Принимает аргументы командной строки, как в примере, и возвращает файл HTML. Результат выглядит так в Chrome:

введите описание изображения здесь


2
Хороший ответ, но я не считаю это изображением. Это не совсем графический вывод.
Maltysen

Обновленный, хороший гольф.
Ave

Думаю, @Downgoat сейчас нужен брат по имени Upgoat.
Пол Пикард

5

bash + imagemagick + gs 690 575 456 440 байт

Смотрите более ранние ревизии для "ungolfed" кода.

#!/bin/bash
d=`identify $1|cut -d' ' -f3`
x=`echo $d|cut -d'x' -f1`
y=`echo $d|cut -d'x' -f2`
convert $1 $1.eps
gs -g"$d" -o $1.png -sDEVICE=png48 -c "
/s/showpage load def/showpage{}def($1.eps)run
matrix defaultmatrix setmatrix/Helvetica-Bold 22
selectfont/c{dup stringwidth pop neg 2 div 0 rmoveto dup 
gsave 1 setgray show grestore 0 setgray false charpath stroke}def
$x 2 div $y 42 sub moveto($2)c $x 2 div 8 moveto($3)c s"
echo :$1.png

например.

./meme.sh Superman1.jpg "I AM CORNHOLIO" "Are you threatening me??!"
GPL Ghostscript 9.15 (2014-09-22)
Copyright (C) 2014 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Loading NimbusRomNo9L-Regu font from /usr/share/ghostscript/9.15/Resource/Font/NimbusRomNo9L-Regu... 4186304 2700982 3995248 2685490 2 done.
Loading NimbusSanL-Bold font from /usr/share/ghostscript/9.15/Resource/Font/NimbusSanL-Bold... 4203248 2760390 3833712 2536130 1 done.
:Superman1.jpg.png

Супермен любит Бивис


4
Это не ударный шрифт!
Пирит

Правда. Похоже, я не установлен. fc-listне могу найти это.
luser droog

В любом случае, я могу указать Impact, но тогда он будет отображаться с помощью Courier.
luser droog
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.