これは、クワインバリエーション。
前書き
いくつかのあいまいな理由のため、私たちはすべて短いコードを記述しますが、何をするにしても、少なくとも144ピクセル/バイト(12pxフォント)を占有します。しかし、コードを画像にエンコードするとどうなりますか?これが今日のあなたの仕事です。
チャレンジ
あなたのタスクは、独自のソースコードを読み込み(非適切なクインは許可されます。たとえば、文字通りソースファイルを読み込みます)、ASCIIに基づいてピクセルの赤、緑、青のコンポーネントを設定することで、そこから画像を作成します文字の値。
例:
「Hello world!」という文字列があります。
Hello world!
これをASCII値に変換しましょう。
72 101 108 108 111 32 119 111 114 108 100 33
RGB値をそれにマップします(ソースコードの長さが3で割り切れない場合、残りの文字として0を使用します)。
__________________________________________________
| R | G | B || R | G | B || R | G | B || R | G | B |
----------------------------------------------------
|72 |101|108||108|111|32 ||119|111|114||108|100|33 |
----------------------------------------------------
次に、その中から最小の領域で画像を作成します。4組のRGB値があるため、最小の画像は左上のピクセルから右に向かって2 * 2の画像になります。
そして、このひどく色付けされた画像を取得します(サイズ変更されたので、少なくとも目に見えるようになり、それがどれだけ小さいかを証明します)
ルール/追加情報
- 入力がありません
- 出力は、別のファイルとして、または別のウィンドウにある必要があります。
- マルチバイト文字の場合、文字を2バイトに分割します。
- ソースコードは少なくとも1バイトの長さが必要です
- 画像は可能なサイズのもので、幅と高さの比が1に最も近いものでなければなりません。
- 画像のピクセル数は正確にceil(byte count / 3)である必要があり、余分なピクセルは追加されません
得点
これはcode-golfなので、バイト単位の最小の答えが勝ちです。
height = N
ありwidth = 1
ませんか?1に最も近い幅/高さを意味すると思います