Às vezes, quando estou entediado, pego algum texto e preenchei os "buracos" nas letras. Mas preencher os buracos não é a coisa mais chata que você pode fazer? Acho que devemos automatizá-lo , para que possamos usar melhor nosso tempo.
Aplicam-se as regras de código-golfe padrão .
Entrada
Uma sequência contendo sequência de caracteres alfanuméricos (az, AZ, 0-9) e espaços.
Resultado
Imagem contendo a sequência renderizada e os furos preenchidos. Você pode usar qualquer fonte legível por humanos, desde que ainda seja necessário preencher os furos. Você pode salvar a imagem em um arquivo i.png
(em formato png) ou apenas exibir a imagem.
Propriedades da imagem:
- Texto em preto
- Fundo branco ou transparente
- Preenchimento:
- As dimensões da imagem podem ter no máximo duas vezes as dimensões do texto
- O preenchimento deve ter a mesma cor do plano de fundo, branco ou transparente
Exemplo
Entrada: Example text
code-golf
graphical-output
image-processing
Hannes Karppila
fonte
fonte
Respostas:
Bash, 135 bytes
Usa ImageMagick (
convert
).Saída de amostra:
É necessário desativar o antialiasing porque partes internas das letras com antialias não seriam preenchidas. A configuração da fonte para um tamanho grande também é necessária porque algumas fontes têm "lacunas" nas letras que devem ter "buracos" em tamanhos de fonte pequenos (nos meus testes, o
a
tamanho não foi preenchido no tamanho de fonte pequeno padrão).fonte
Mathematica, 83 bytes
Uma função sem nome que recebe uma string como entrada e retorna um objeto de imagem. A idéia é usar
DeleteBorderComponents
para manter apenas os orifícios e subtrair os da imagem original.fonte
ImageSubtract
eDeleteBorderComponents
.SmileBASIC, 38 bytes
Desenha texto preto * no fundo preto e usa a função "balde de tinta" embutida para preencher tudo o que estiver fora do texto com branco.
* (na verdade eu usei
00000008
, que parece idêntico a transparente, mas é tratado como uma cor diferente)fonte
Come um pouco o texto, mas também há uma solução baseada em tela:
JS, 610 bytes
fonte
Postscript 273
[foi originalmente publicado no desafio relacionado , mas eu nunca implementei a contagem.]
Renderiza cada caractere normalmente, para obter o espaçamento correto para avançar, depois pega todas as curvas que descrevem o glifo e preenche cada um. Normalmente, as curvas internas e externas são descritas com orientações diferentes; portanto, um preenchimento deixará o interior vazio, independentemente de estar usando a regra de enrolamento diferente de zero ou a regra par-ímpar. Preenchendo separadamente, tudo é preenchido.
Recuado:
Uso. O objeto String deve estar na pilha quando o programa for iniciado. Escalonamento extra apenas para torná-lo visível.
fonte