Dies ist eine quine Variante.
Einführung
Wir alle schreiben kurzen Code, weil einige Gründe unklar sind , aber was auch immer wir tun, das wird mindestens 144 Pixel / Byte (mit einer 12px-Schriftart) in Anspruch nehmen. Aber was würde passieren, wenn wir unseren Code in Bildern verschlüsseln würden? Dies ist heute Ihre Aufgabe.
Herausforderung
Ihre Aufgabe ist es, Ihren eigenen Quellcode einzulesen (nicht korrekte Quines sind zulässig, z. B. das buchstäbliche Lesen der Quelldatei) und daraus ein Bild zu erstellen, indem Sie die roten, grünen und blauen Komponenten eines Pixels basierend auf dem ASCII-Code festlegen Wert des Zeichens.
Beispiel:
Wir haben die Zeichenfolge "Hallo Welt!"
Hello world!
Lassen Sie uns dies in ASCII-Werte konvertieren:
72 101 108 108 111 32 119 111 114 108 100 33
Ordnen Sie die RGB-Werte zu (Wenn die Länge des Quellcodes nicht durch 3 teilbar ist, verwenden Sie 0s als verbleibende Zeichen):
__________________________________________________
| R | G | B || R | G | B || R | G | B || R | G | B |
----------------------------------------------------
|72 |101|108||108|111|32 ||119|111|114||108|100|33 |
----------------------------------------------------
Wir erstellen dann das Bild mit dem kleinsten Bereich daraus. Wir haben 4 Sätze von RGB-Werten, so dass das kleinste Bild ein 2 * 2-Bild ist, das vom oberen linken Pixel nach rechts verläuft:
Und wir bekommen dieses schrecklich farbige Bild (verkleinert, so dass es zumindest sichtbar ist, beweist auch, wie klein es werden kann)
Regeln / Zusatzinformationen
- Es gibt keine Eingabe
- Die Ausgabe sollte als separate Datei oder in einem separaten Fenster erfolgen.
- Teilen Sie bei Multibyte-Zeichen das Zeichen in 2 Bytes.
- Der Quellcode muss mindestens 1 Byte lang sein
- Das Bild sollte diejenige von den möglichen Größen sein, die das engste Breiten- / Höhenverhältnis zu 1 hat
- Die Pixelanzahl auf dem Bild sollte genau Ceil (Byteanzahl / 3) sein. Es sollten keine zusätzlichen Pixel hinzugefügt werden
Wertung
Dies ist ein Code-Golf , also gewinnt die kleinste Antwort in Bytes.
height = N
und width = 1
? Ich denke, Sie meinen Breite / Höhe am nächsten zu 1.