Dank Meme Generator

29

Eu gosto de fazer memes úmidos com minhas próprias imagens. Mas todos os sites chamados "meme rápido" têm muito código . Percebi que a única maneira de criar o gerador de memes mais hediondo é pedir a vocês do PPCG que joguem um para mim. Então, deixe-me explicar o que você deve fazer.

Especificações

  • Tome uma imagem como entrada como um nome de arquivo, objeto de imagem etc. para criar um meme.
  • Em seguida, pegue duas cadeias de caracteres para o texto superior e inferior (sem quebras de linha).
  • Renderize o texto na imagem na fonte branca Impact 22pt, tamanho 22pt, com contorno preto de 5px (você pode assumir que o Impact está instalado.
  • O texto deve estar centralizado horizontalmente.
  • Você pode assumir que o texto se ajusta horizontalmente.
  • Os respectivos textos devem ser 10 px a partir do topo e 8 px a partir da parte inferior.
  • Em seguida, imprima a imagem salvando em um arquivo, exibindo etc.
  • Isso é , então o código mais curto em bytes vence!

Memeing feliz!

Maltysen
fonte
11
Podemos assumir que a fonte Impact está instalada?
Downgoat 07/02
@Downgoat yeah.
Maltysen 07/02
9
... animais de conselho? É isso que você chama de meme úmido?
9 de
5
Esses memes não são úmidos. É como memeologia básica.
Pyritie
2
@Pyritie Nem todo mundo deveria ter permissão para usar a magia dos memes ainda.
hownowbrowncow

Respostas:

13

HTML / JS / CSS, 341 329 300 bytes

<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}

Para usar: Primeiro cole o URL da imagem desejada na caixa de entrada fornecida, depois tabule para o texto superior e digite o texto desejado, depois tabule para o texto inferior e digite o texto desejado.

Editar: salvou 12 bytes graças a @Downgoat. Economizou mais 29 bytes graças a @ dev-null.

Neil
fonte
Provavelmente, você pode remover muitas aspas no html. Você também pode remover o ></div>no final
Downgoat 07/02
Você pode alterar suas div para ptags e adicionar margin:0;deve salvar alguns bytes
andlrc
@ dev-null Após a sugestão do Downgoat, agora me custa um byte em vez de me salvar um byte.
194 Neil
@ Nee Isso está correto, mas se você também mover a tag style para o final, poderá remover o</style>
andlrc
@ dev-null Bem, eu posso me livrar do primeiro </p> pelo menos (o segundo é necessário para impedir que você pressione Ctrl + A, Del para excluir o elemento de estilo).
711 Neil
12

Geléia, 141 bytes

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

Experimente online!

Toma argumentos de linha de comando como no exemplo e retorna um arquivo HTML. O resultado é semelhante ao Chrome:

insira a descrição da imagem aqui

Lynn
fonte
2
Boa resposta, mas não estou contando isso como uma imagem. Não é realmente uma saída gráfica.
Maltysen 07/02
Upgoated, bom golfe.
Ave
Acho que o @Downgoat precisa de um irmão chamado Upgoat agora.
Paul Picard
5

bash + imagemagick + gs 690 575 456 440 bytes

Veja as revisões anteriores do código "não-destruído".

#!/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

por exemplo.

./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

Superman gosta de Beavis

luser droog
fonte
4
Isso não é fonte de impacto!
Pyritie
Verdade. Parece que não o tenho instalado. fc-listnão consigo encontrar.
Luser droog
Eu poderia especificar o impacto de qualquer maneira, mas seria renderizado com o Courier.
Luser droog