PHP, 153 octets
Cela ne fonctionnera que si le short_open_tag
paramètre est activé. Le code source contient des caractères non imprimables, alors utilisez plutôt un vidage hexadécimal:
0000000: 3c3f 3d67 7a69 6e66 6c61 7465 2827 b329 <?=gzinflate('.)
0000010: 2e4b 5728 cb4c 2d77 caaf b0d5 3531 3000 .KW(.L-w....510.
0000020: 611d 0b08 5628 2e29 cacf 4eb5 5536 3030 a...V(.)..N.U600
0000030: b0b3 2948 2cc9 5048 b1f5 d535 35d6 3536 ..)H,.PH...55.56
0000040: b7d0 8152 c6a6 263a 8626 c6ba 8626 0660 ...R..&:.&...&.`
0000050: dac2 5cc7 14c8 b234 0452 510a 6999 3939 ..\....4.RQ.i.99
0000060: b6ca 6969 690a 2545 8979 c569 f945 b9b6 ..iii.%E.y.i.E..
0000070: 45f9 2589 25a9 1a06 9a0a fa14 990a 7415 E.%.%.........t.
0000080: a6a9 8646 949a 9b5e 945a 8969 ae2e cc60 ...F...^.Z.i...`
0000090: 7d60 88d9 0100 2729 3b }`....');
Les données décompressées ressemblent à ceci (avec des sauts de ligne ajoutés pour plus de lisibilité):
<svg viewBox=-400-400,800,800 stroke=#000>
<path d=M-53-378,53-378,354,143-140,143-87,50,191,50Z fill=#fff transform=rotate(0) />
<path d=M-53-378,53-378,354,143-140,143-87,50,191,50Z fill=#000 transform=rotate(120) />
<path d=M-53-378,53-378,354,143-140,143-87,50,191,50Z fill=grey transform=rotate(-120) />
</svg>
Bien que les données SVG ne soient pas entièrement valides, PHP les sert text/html
par défaut. Sans déclaration doctype, le document est traité en mode excentrique, ce qui est très indulgent.
Pour améliorer la compression, j'ai divisé l'image en trois parties en forme de "7" qui peuvent être dessinées à l'aide d' <path>
éléments presque identiques . L'image résultante se développera pour remplir la fenêtre. Voici une capture d'écran d'une fenêtre de 500 × 500 pixels: