Si tratta di una Quine variazione.
introduzione
Abbiamo tutto il codice breve di scrittura, perché alcuni motivi oscuri , ma qualunque cosa facciamo, the'll occupano almeno 144 pixel / byte (con un font 12px). Ma cosa sarebbe successo, se vogliamo codificare il nostro codice nelle immagini? Questo è il vostro compito oggi.
Sfida
È compito è quello di leggere nel codice sorgente proprio (quines non corrette sono consentiti, ad esempio, letteralmente la lettura del file di origine), e creare un'immagine fuori di esso, impostando i componenti rosso, verde e blu di un pixel in base al ASCII valore del carattere.
Esempio:
Abbiamo la stringa "Ciao mondo!"
Hello world!
Cerchiamo di convertire questo in valori ASCII:
72 101 108 108 111 32 119 111 114 108 100 33
Mappa i valori RGB ad esso (se la lunghezza del codice sorgente non è divisibile per 3, 0s utilizzare come caratteri rimanenti):
__________________________________________________
| R | G | B || R | G | B || R | G | B || R | G | B |
----------------------------------------------------
|72 |101|108||108|111|32 ||119|111|114||108|100|33 |
----------------------------------------------------
Quindi creiamo l'immagine con l'area più piccola al di fuori di essa. Abbiamo 4 set di valori RGB, quindi l'immagine più piccola sarà un'immagine di 2 * 2, che va dall'alto a sinistra pixel a destra:
E otteniamo questa immagine terribilmente colorato (ridimensionata, quindi è almeno visibile, dimostra anche il fatto quanto piccolo si può ottenere)
Regole / Ulteriori informazioni
- Non c'è alcun ingresso
- L'output deve essere un file separato o in una finestra separata.
- Per i caratteri multibyte, dividere il personaggio in 2 byte.
- Il codice sorgente deve essere di almeno 1 byte lungo
- L'immagine dovrebbe essere quella delle dimensioni possibili, che ha il rapporto larghezza / altezza più vicino a 1
- Il conteggio dei pixel sull'immagine dovrebbe essere esattamente ceil (numero di byte / 3), dovrebbero essere aggiunti senza pixel in più
punteggio
Questo è un codice-golf , quindi vince la risposta più piccola in byte.
height = N
e width = 1
? Penso che intendi larghezza / altezza più vicina a 1.