Teppich ein Flughafen

17

Im Jahr 2015 begann der Portland International Airport mit dem Austausch seines Kultteppichs . Ich möchte, dass Sie ein Programm schreiben, um ihren alten Teppich in so wenigen Bytes wie möglich zu zeichnen.

Der Teppich:

Eine Fliese

Spezifikationen

  • Hier ist ein Link zu einem skalierbaren PDF-Bild einer Kachel. Ihre Ausgabe sollte mit den relativen Abmessungen und der Position des Bildes übereinstimmen.

  • Alle Farben in Ihrem endgültigen Bild sollten innerhalb von 15 von jedem RGB-Wert im angegebenen Bild liegen. Diese sind im Folgenden aufgeführt.

                Red   Green Blue
    Teal:       0,    168,  142
    Magenta:    168,  108,  185
    Orange:     247,  58,   58
    Light Blue: 90,   166,  216
    Dark Blue:  0,    77,   117
    
  • Ihre Ausgabe muss mindestens 150 x 150 Pixel groß und quadratisch sein. Wenn Sie sich für die Ausgabe in einem skalierbaren Format wie einem Vektorbild entscheiden, sollten Sie das Bild genau angleichen.

  • Sie können das Bild in jedem vorhandenen Bildformat ausgeben.

  • Dies ist daher sollten Sie versuchen, die Anzahl der Bytes in Ihrem Code zu minimieren.

Weizen-Assistent
quelle
@Hexaholic Ich glaube nicht, dass ich zufällig auf Wikipedia getroffen habe und die Seite aufgerufen habe. Allerdings habe ich es vielleicht auch auf reddit vor hand gesehen.
Weizen-Zauberer
1
Muss es sich um ein zweidimensionales Bild handeln oder könnte es sich um ein Modell handeln, das aus einem bestimmten Blickwinkel betrachtet wird?
devRicher

Antworten:

9

Reines HTML, 873 Bytes

<table width=152 height=152 bgcolor=#0a8><tr><td colspan=7><td bgcolor=#5AD><tr><td><td bgcolor=#057><td colspan=5><td bgcolor=#5AD><tr><td><td><td bgcolor=#057><td colspan=4><td bgcolor=#5AD><tr><td><td><td><td bgcolor=#057><td><td><td><td bgcolor=#5AD><tr><td colspan=7><td bgcolor=#057><td><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057><td bgcolor=#057><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><td bgcolor=#057><td colspan=7 bgcolor=#057><tr><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td bgcolor=#A6B><td rowspan=6 bgcolor=#057><tr><td><tr><td><tr><td colspan=11><td bgcolor=#057><tr><td colspan=12><td bgcolor=#057><tr><td colspan=13><td bgcolor=#057><tr><td colspan=7><td bgcolor=#057>

HTML + CSS, 625 Bytes

#l{background:#5AD}th{background:#057}#o{background:#F33}#m>td{background:#A6B
<table width=152 height=152 bgcolor=#0A8><tr><td colspan=7><td id=l><tr><td><th><td colspan=5><td id=l><tr><td><td><th><td colspan=4><td id=l><tr><td><td><td><th><td><td><td><td id=l><tr><td colspan=7><th><td><td><th><tr><td colspan=7><th><td><th><tr><td colspan=7><th><th><td><td><td><td bgcolor=#F33><td bgcolor=#F33><td bgcolor=#F33><tr><td colspan=6><td bgcolor=#F33><th><th colspan=7><tr id=m><td><td><td><td><td><td><td><th rowspan=6><tr><td><tr><td><tr><td colspan=11><th><tr><td colspan=12><th><tr><td colspan=13><th><tr><td colspan=7><th>

Neil
quelle
9

Tikz, 725 693 681 671 Bytes

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz[line width=20,every node/.style={minimum size=20}]{\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}\fill[t](-7.5,-7.5)rectangle(7.5,7.5);\draw(-1,0)node[fill=o]{};\foreach\x in{1,...,7}{\draw(-\x,-1)node[fill=m]{};\draw(0,\x)node[fill=b]{};}\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}\draw[d](.65,0)--(7.35,0);\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);}\end{document}

Probieren Sie es online!

Erläuterung

Ein Großteil des Codes ist ein Wrapper:

\documentclass{standalone}\usepackage{xcolor,tikz}\begin{document}\tikz{...}\end{document}

Dies ist eine geringfügige Abweichung vom Standard-Tikz-Wrapper, da er auch die Linie aufweist, \usepackage{xcolor}damit wir die Farben richtig erstellen können.

Zunächst line width=20,every node/.style={minimum size=20}]werden die Linien und Knoten auf die richtige Größe eingestellt.

Danach definieren wir die Farben, die wir für die verschiedenen Teile des Bildes verwenden werden:

\definecolor{t}{RGB}{0,168,142}\definecolor{m}{RGB}{168,99,185}\definecolor{o}{RGB}{247,58,58}\definecolor{b}{RGB}{90,166,216}\definecolor{d}{RGB}{40,77,117}

Jetzt, da alles eingerichtet ist, malen wir den Hintergrund für unsere Leinwandfarbe:

\fill[t](-7.5,-7.5)rectangle(7.5,7.5);

(Ich werde kein Bild davon einfügen, weil es nur ein blaugrünes Quadrat ist, aber ich werde Bilder von jedem anderen Schritt einfügen.)

Der erste Knoten, den wir hinzufügen, ist der orangefarbene Knoten direkt links von der Mitte der Zeichenfläche.

\draw(-1,0)node[fill=o]{};

Eine Orange auf See

Jetzt werden wir die hellblauen und magentafarbenen Knoten zeichnen. Es gibt 7 blaue Knoten und 4 blaue Knoten, aber wir können zusätzliche Knoten zeichnen, die später durch Linien verdeckt werden, sodass wir jeweils 7 zeichnen.

\foreach\x in{1,...,7}{
    \draw(-\x,-1)node[fill=m]{};
    \draw(0,\x)node[fill=b]{};
}

Gegabelte Pfade

Jetzt zeichnen wir alle Gruppen von 3 Punkten mit einer einzigen \foreachSchleife

\foreach\x in{1,...,3}{\draw(\x,\x)node[fill=d]{};\draw(3+\x,-3-\x)node[fill=d]{};\draw(-3-\x,3+\x)node[fill=d]{};\draw(4+\x,1)node[fill=o]{};}

Verstreute Punkte

Jetzt ziehen wir die richtige Linie. Diese Linie ist eine einfache Linie mit Versätzen .35in jeder Richtung, die der Größe eines Knotens entsprechen.

\draw[d](.65,0)--(7.35,0);

Kollision

Jetzt müssen wir die dunkelblauen Linien und Quadrate auf der x-Achse einzeichnen. Wir zeichnen sie mit einer Linie unter Verwendung eines benutzerdefinierten Strichmusters.

Dieses Muster ist [dash pattern=on20off8.5on162.5off8.5]Dies schafft ein Quadrat mit einem langen, festen Schwanz. Unsere Linie beginnt von unten und deckt nicht ganz 2 Zyklen des Musters ab.

\draw[d,dash pattern=on20off8.5on162.5off8.5](0,-7.35)--(0,3.35);

Finale

Und jetzt sind wir fertig.

Weizen-Assistent
quelle
Können Sie Zahlen verwenden, um RGB-Farben in Tikz darzustellen, anstatt die RGB-Offsets einzugeben?
Yytsi
@ TuukkaX Ich denke schon, aber ich konnte es nicht herausfinden. Wenn Sie wissen, wie ich dankbar wäre, erleuchtet zu werden.
Weizen-Assistent
Ich kenne Tikz überhaupt nicht, kann also nicht helfen :( Wenn ich jedoch Ihre Regel über "innerhalb von 15 von jedem RGB" richtig verstanden habe, können Sie 108 zu 99 ändern, da der Fehler unter 15 liegt.
Yytsi
@ TuukkaX Danke!
Weizen-Assistent
Mit \definecolorder HTMLAngabe (anstatt RGB) können Sie Farben mit hex angeben.
Julian Wolf
6

Literal-PNG-Datei, 283 , 234, 227 Bytes

BEARBEITEN : Mit dem Online-Bildkomprimierungsdienst https://compress-or-die.com/ wurden weitere 7 Byte eingespart.

albn @ alexhi

j:~/tmp$ ls -l carpet3.png
-rw-r--r-- 1 albn albn 227 15. Feb 12:01 carpet3.png
albn@alexhij:~/tmp$ base64 carpet3.png 
iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3Ojpapthl
S7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQT
Sw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wG
MbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII=

carpet3.png

Die 227 Bytes entsprechen der tatsächlichen Größe der Binärdatei carpet.png. Wenn es in base64 codiert ist, wie im obigen Block angezeigt, ist es einige Bytes länger (308 Bytes). Wenn Sie das in einem HTML-Snippet einkapseln, das das Bild sofort rendert, werden einige weitere Bytes hinzugefügt:

HTML, 414 , 343 , 336 Bytes

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLn3OjpapthlS7nNAAAAj0lEQVR4Ae3ThRHCQBQGYVqgBVq4Fui/Jt4ILks8/80uLvkyOTlkd67EILHojtWEyxQTSw6uFS5TTCw/uFa+TDGx/PjS3z+KiS2GcRtgzIqJdboDPomteniCxMTyatXtMiExMcB22amCJ7wGMbHpBWBiYmJiYmJwAjGx/ncAn0VMrP8dwL+KieXHFyImltoF6oWZiblRTNQAAAAASUVORK5CYII

Bearbeiten : Ich habe die Anführungszeichen entfernt und> geschlossen, wie von Shaggy vorgeschlagen. Komprimiert auch das Bild um weitere 17 , 24 Bytes

Sonntag
quelle
1
Ich glaube nicht, dass eine Literaldatei hier auf Code-Golf als gültige Programmiersprache angesehen wird . Es liegt am OP, ob dies gültig ist oder nicht.
Genosse SparklePony
1
Sie mögen Recht haben, aber selbst die Beschreibung des Tags kolmogorov-complexität auf codegolf.stackexchange.com/tags/kolmogorov-complexity/info erwähnt eine komplexe Zeichenfolge, deren kürzeste Darstellung es sein könnte, sie wörtlich auszudrucken. Wenn eine Literal-Zeichenfolge als "Worst-Case-Lösung" für einen Code-Golf auf String-Basis betrachtet wird, kann eine Literal-Bilddatei als "Worst-Case-Lösung" für einen Code-Golf auf Image-Basis angesehen werden. Bearbeiten: Ich habe die Datei nur gepostet, weil ich überrascht war, dass sie tatsächlich kürzer war als die anderen zuvor geposteten Lösungen. (nachdem der optionale tIME-Block aus der Datei entfernt wurde)
Sonntag,
Wenn es nach mir geht, bin ich damit einverstanden.
Weizen-Assistent
2
Mit ein bisschen Komprimierung könnten Sie das verhindern. Löschen Sie auch die Anführungszeichen, alle nachfolgenden =und die schließenden >. Hier ist eine 366-Byte-Version, an der ich gearbeitet habe, bevor ich Ihre Antwort gesehen habe:<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII
Shaggy
1
@ComradeSparklePony Für Fragen wie diese ist im Allgemeinen keine Programmiersprache erforderlich: codegolf.meta.stackexchange.com/questions/3610/…
isaacg
5

Mathematica, 285 Bytes

e={1,1};r=RGBColor["#"<>#]&;c=Cuboid;s=c[3#-e,3#+e]&;a=Array;b=a[s[{1,-1}#]&,3,#]&;Graphics@{r@"0a8",c[-23e,23e],r@"a6b",a[s@{-#,-1}&,7],r@"f33",a[s@{#,1}&,3,5],s@{-1,0},r@"5ad",a[s@{0,#}&,4,4],r@"057",a[s[e#]&,4,0],b@4,b[-6],s@{0,-7},{-1,2}~c~{1,10},{-1,-2}~c~{1,-19},{2,-1}~c~{22,1}}

Einfacher zu lesen:

 1  c = Cuboid; e = {1, 1};
 2  s = c[3 # - e, 3 # + e] &;
 3  a = Array; b = a[s[{1, -1} #] &, 3, #] &;
 4  r = RGBColor["#" <> #] &; 
 5  Graphics@{
 6   r@"0a8", c[-23 e, 23 e],
 7   r@"a6b", a[s@{-#, -1} &, 7],
 8   r@"f33", a[s@{#, 1} &, 3, 5], s@{-1, 0},
 9   r@"5ad", a[s@{0, #} &, 4, 4],
10   r@"057",
11    a[s[e #] &, 4, 0], b@4, b[-6], s@{0, -7},
12    {-1, 2}~c~{1, 10}, {-1, -2}~c~{1, -19}, {2, -1}~c~{22, 1}
13  }

Die Zeilen 1 bis 3 definieren Kurznamen für Funktionen, von denen die wichtigste darin besteht s, ein Quadrat zu zeichnen, das an den Koordinaten zentriert ist, die es empfängt (tatsächlich das Dreifache seiner Koordinaten, für eine angemessene Skalierung). Zeile 4 definiert eine Farbfunktion unter Verwendung von Mathematics "Shortcut" RGB-System: RGBColor["#xyz"]wobei xyzhexadezimale Ziffern stehen für RGBColor[{17x, 17y, 17z}](so dass jede Koordinate 16 Optionen mit gleichem Abstand von 0 bis 255 hat). Mit den ersten Befehlen in den Zeilen 6 bis 10 wird die aktuelle Farbe gewechselt, wobei die Shortcut-Farben verwendet werden, die den angegebenen fünf Farben am nächsten sind (kein Wert ist um mehr als 8 verschoben, wenn auf das nächste Vielfache von 17 gerundet wird).

Zeile 6 zeichnet das große blaugrüne Quadrat. Linie 7 zeichnet die Linie der Magenta-Quadrate, Linie 8 die Linie der Orange-Quadrate und das einzelne Orange-Quadrat. Linie 9 zeichnet die Linie der hellblauen Quadrate. Linie 11 zeichnet die drei diagonalen Linien dunkelblauer Quadrate sowie das einzelne dunkelblaue Quadrat unten. Schließlich zeichnet Linie 12 die drei langen dunkelblauen Rechtecke. Die Ausgabe ist unten:

Portland

(Golftipp: Der Befehl Cuboid, der für 3D-Grafikobjekte vorgesehen ist, funktioniert in 2D einwandfrei und ist kürzer als Rectangle.)

Greg Martin
quelle
2

Python, 420

from PIL import Image,ImageDraw
B=0,77,117
I=Image.new('RGB',(300,300),(0,168,142))
r=ImageDraw.Draw(I).rectangle
for x,y,c in['7172737a98cde670123456bcd70112233456666778888888bcde23232323331111300000003333'[x::26]for x in range(26)]:exec'r([W,W,14+W,14+W],[(168,108,185),(247,58,58),(90,166,216),B][%s]);'.replace('W','2+20*0x%s')%(x,y,x,y,c)
r([162,142,296,156],B)
r([142,82,156,136],B)
r([142,162,156,276],B)
I.show()
Dieter
quelle
1

HTML / SVG, 550 542 521 Bytes

<svg><path fill=#0a8 d="M0 0h152v152H0z"/><path fill=#5ad d="M72 2h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8zm0 10h8v8h-8z"/><path fill=#057 d="M12 12h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8zm40 10h8v28h-8zm0 30h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zm10-10h8v8h-8zM82 72h68v8H82zM72 82h8v58h-8zm0 60h8v8h-8zm40-30h8v8h-8zm10 10h8v8h-8zm10 10h8v8h-8z"/><path fill=#f33 d="M62 72h8v8h-8zm60-10h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"/><path fill=#a6b d="M2 82h8v8H2zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8zm10 0h8v8h-8z"

Zottelig
quelle
1

HTML, 366 Bytes

Sonntag bekam eine Base64- Antwort , während ich noch daran arbeitete; Wenn er es verwendet, lösche ich diese Antwort.

<img src=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII

Wenn der Base64-String für sich genommen eine gültige Antwort ist, sind das nur 335 Bytes:

iVBORw0KGgoAAAANSUhEUgAAAJgAAACYBAMAAADq7D0SAAAAD1BMVEUAqI4ATXWobLlaptj3OjrqGXAuAAAAp0lEQVRo3u3YQQqFMAxFUbeQLbiFbsH9r8k3y8CmTiKm7b2Dwv/CgUAD4jF3TYGBRdgKmRqPCQa28gaMZ20KDGz5DQhnbQoMTG2wAcPR/ScY2HeYVw4zBQYWYDUvbRLWFS/lBxhYhM3bpXzMcWBgEVa5U70cpsDAnkf1FxcwMDAwMLBczP8DAwuwmpc2HzMFBhY8qHlp8zFTYGCdyn8GKrhOYBtjv3QDvf+Zic+8bOsAAAAASUVORK5CYII
Zottelig
quelle
1

HTML / SVG + JavaScript (ES6), 500 499 Bytes

Ein Extra >ist , um diese zu Funktion als Snippet findet erforderlich diese Fiddle für tatsächlichen Code.

[[t="5ad",2],[t,o=12],[t,p=22],[t,q=32],[,o,o],[,p,p],[,q,q],[,42,,28],[],[,v=62,s=82],[,52,92],[,42,102],[,,s,,68],[,s,,58],[,142],[,112,112],[,122,122],[,132,132],[t="f33",,v],[t,v,122],[t,v,132],[t,v,142],[t="a6b",s,2],[t,s,o],[t,s,p],[t,s,q],[t,s,42],[t,s,52],[t,s,v],["0a8",0,0,152,152]].map(x=>a(x[0],x[1],x[2],x[3],x[4]),a=(f="057",y=72,x=72,h=8,w=8)=>(c.after(r=c.cloneNode()),r.id++,r[s="setAttribute"]("fill","#"+f),r[s]("x",x),r[s]("y",y),r[s]("width",w),r[s]("height",h)))
<svg><rect id=c>


Erläuterung

Ein Array von Arrays wird Funktion abgebildet a, Klont die Erstellung rectin der HTML, so dass sie nach dem anfänglichen Einsetzen rectund Einstellen ihrer fill, x, y, widthund heightAttribute. Jedes Array enthält Werte für diese Attribute in dieser Reihenfolge, wobei fehlende Werte durch die Standardparameter von festgelegt werden a. Das scheinbar Unnötige r.id++erlaubt die Verwendung von, cloneNode()während sichergestellt wird, dass es immer nur 1 rectmit einem idvon c gibt; dies erspart die notwendigkeit, die lächerlich teuren zu verwenden document.createElementNS("http://www.w3.org/2000/svg","rect").

Zottelig
quelle
1

PHP + SVG, 425 Bytes

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><?foreach(["004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]],"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]],a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]],f73a3a=>[[6,7],[12,6],[13,6],[14,6]]]as$c=>$p)foreach($p as$v)echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />";

erweitert

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 />
<?foreach([
"004d75"=>[[1,1],[2,2],[3,3],[7,14],[7,7],[8,6],[9,5],[10,4],[11,11],[12,12],[13,13],[7,4,0,2],[8,7,6,0],[7,8,0,5]]
,"5aa6d8"=>[[7,0],[7,1],[7,2],[7,3]]
,a86cb9=>[[0,8],[1,8],[2,8],[3,8],[4,8],[5,8],[6,8]]
,f73a3a=>[[6,7],[12,6],[13,6],[14,6]] # Array containing color and position ,width, height of each rect without the background
]as$c=>$p)
  foreach($p as$v)
    echo"<rect x={$v[0]}1 y={$v[1]}1 width=".(8+10*$v[2])." height=".(8+10*$v[3])." fill=#$c />"; # Output the rects

Das Ergebnis des Codes in einem HTML-Snippet

<svg><rect x=0 y=0 fill=#00a88e width=150 height=150 /><rect x=11 y=11 width=8 height=8 fill=#004d75 /><rect x=21 y=21 width=8 height=8 fill=#004d75 /><rect x=31 y=31 width=8 height=8 fill=#004d75 /><rect x=71 y=141 width=8 height=8 fill=#004d75 /><rect x=71 y=71 width=8 height=8 fill=#004d75 /><rect x=81 y=61 width=8 height=8 fill=#004d75 /><rect x=91 y=51 width=8 height=8 fill=#004d75 /><rect x=101 y=41 width=8 height=8 fill=#004d75 /><rect x=111 y=111 width=8 height=8 fill=#004d75 /><rect x=121 y=121 width=8 height=8 fill=#004d75 /><rect x=131 y=131 width=8 height=8 fill=#004d75 /><rect x=71 y=41 width=8 height=28 fill=#004d75 /><rect x=81 y=71 width=68 height=8 fill=#004d75 /><rect x=71 y=81 width=8 height=58 fill=#004d75 /><rect x=71 y=01 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=11 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=21 width=8 height=8 fill=#5aa6d8 /><rect x=71 y=31 width=8 height=8 fill=#5aa6d8 /><rect x=01 y=81 width=8 height=8 fill=#a86cb9 /><rect x=11 y=81 width=8 height=8 fill=#a86cb9 /><rect x=21 y=81 width=8 height=8 fill=#a86cb9 /><rect x=31 y=81 width=8 height=8 fill=#a86cb9 /><rect x=41 y=81 width=8 height=8 fill=#a86cb9 /><rect x=51 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=81 width=8 height=8 fill=#a86cb9 /><rect x=61 y=71 width=8 height=8 fill=#f73a3a /><rect x=121 y=61 width=8 height=8 fill=#f73a3a /><rect x=131 y=61 width=8 height=8 fill=#f73a3a /><rect x=141 y=61 width=8 height=8 fill=#f73a3a />

PHP + SVG, 375 Bytes

Diese Bytezahl kann durch Komprimieren der SVG erreicht werden

<?=bzdecompress(base64_decode("QlpoNDFBWSZTWY2177gAASSZgEgA/+c/5B3gMAE5TQVtQeig0AAACU0VNMAAAEYIlEnpMKNlGahso2plh0zoaSEpIkukINaC3RWRF74IvArdRF1FcBXrSTFWXTorp2xvpb3k7FbaV62syISgiBEweHhxtWUmgWCsqqaKSEARyAOAEZJJOwYBQqTAWotSrmEXJbBRTYNhCg4RPaKOUUbAX+Fr4VfIrzzIQQkkJCWfMEEOOISTuDkOzgQzDQDNQKu/4K7AZh8L41DddV8iv2LQOBXv+iugriHAr6sK/IrUV1FeRXMV3FdhW8V9KugrmK8CvOQin+LuSKcKEhG2vfcA"));
Jörg Hülsermann
quelle