Esta é uma variação quine .
Introdução
Todos nós escrevemos código curto, porque algumas razões obscuras , mas o que fazemos, ocupam pelo menos 144 pixels / byte (com uma fonte de 12px). Mas o que aconteceria se codificássemos nosso código em imagens? Esta é sua tarefa hoje.
Desafio
Sua tarefa é ler seu próprio código-fonte (são permitidos quines inadequados, por exemplo, literalmente ler o arquivo de origem) e criar uma imagem a partir dele, definindo os componentes vermelho, verde e azul de um pixel com base no ASCII valor do personagem.
Exemplo:
Nós temos a string "Olá, mundo!"
Hello world!
Vamos converter isso em valores ASCII:
72 101 108 108 111 32 119 111 114 108 100 33
Mapeie os valores RGB para ele (se o comprimento do código-fonte não for divisível por 3, use 0s como os caracteres restantes):
__________________________________________________
| R | G | B || R | G | B || R | G | B || R | G | B |
----------------------------------------------------
|72 |101|108||108|111|32 ||119|111|114||108|100|33 |
----------------------------------------------------
Em seguida, criamos a imagem com a menor área dela. Como temos 4 conjuntos de valores RGB, a menor imagem será uma imagem 2 * 2, passando do pixel superior esquerdo para a direita:
E obtemos essa imagem muito colorida (redimensionada, de modo que seja pelo menos visível, também comprova o tamanho da imagem)
Regras / Informações adicionais
- Não há entrada
- A saída deve ser como um arquivo separado ou em uma janela separada.
- Para caracteres multibyte, divida o caractere em 2 bytes.
- O código-fonte deve ter pelo menos 1 byte de comprimento
- A imagem deve ser a dos tamanhos possíveis, com a maior relação largura / altura a 1
- A contagem de pixels na imagem deve ser exatamente o teto (contagem de bytes / 3), nenhum pixel extra deve ser adicionado
Pontuação
Este é um código-golfe , então a menor resposta em bytes vence.
height = N
e width = 1
? Eu acho que você quer dizer largura / altura mais próxima de 1.