Machen Sie das PPCG Favicon


21

Am 1. November werden Programmierpuzzles und Code Golf abgeschlossen. In den nächsten 11 Monaten möchten wir einige Erinnerungen von unserer Zeit ohne Abschluss bewahren.

Schreiben Sie ein Programm, das das unten gezeigte PPCG-Favicon erzeugt.

Bildbeschreibung hier eingeben

  • Das Bild muss mindestens 64x64 Pixel groß sein.
  • Das Blau muss die Farbe # 62B0DF sein. Der Hintergrund kann weiß oder hellgrau sein.
  • Das Bild muss nicht so pixelig sein, wie es hier ist.
  • Alternativ können Sie Text (mit Abmessungen von mindestens 64 x 64 Zeichen ohne Leerzeichen) mit den hellen ANSI- Standardfarbcodes Cyan und Weiß erstellen .
  • Eingebaute Bilder und das Importieren des PPCG-Logos sind nicht gestattet.

Dies ist Codegolf, daher gelten die Standardregeln. Kürzester Code in Bytes gewinnt.


10
Aber im Ernst, was meinst du mit Drucken ? Die Bytes dieses exakten Bildes ausgeben? Bild auf dem Bildschirm anzeigen? Etwas anderes?
Dennis

3
Ohne Einschränkungen in Bezug auf die Art und Weise, wie das Bild angezeigt oder generiert werden kann, oder Richtlinien, welche Arten von Antworten als interessant angesehen werden sollten, ist dies bei weitem zu umfassend für einen Beliebtheitswettbewerb.
Dennis

6
@ LegionMammal978 Das Popularitäts-Contest- Tag ist keine Entschuldigung für eine vage Spezifikation. Die Spezifikation eines Beliebtheitswettbewerbs sollte den gleichen Standards wie die eines anderen Herausforderungstyps entsprechen. Das Tag ist für Herausforderungen gedacht, bei denen der Mensch die Qualität einer Antwort besser beurteilt als der Computer (z. B. visuelle Ähnlichkeit bei einer Bildverarbeitungsaufforderung), und nicht für Herausforderungen, bei denen nicht einmal klar ist, wie eine gute Antwort für einen Teilnehmer aussehen würde. "Die meisten Stimmen" stellen kein objektives Gewinnkriterium dar, wenn es keine Richtlinien für das Erreichen dieser Stimmen gibt.
Martin Ender

7
Ich würde vorschlagen, zumindest das Laden des Logos von keiner Ressource zuzulassen.
Nicael

8
@ Tennis Er meinte, es mit dem nächsten Cloud-Drucker zu drucken
Optimizer

Antworten:


18

Bash (OSX), 33 27 23 18 Bytes

Sie haben den Mann gehört, wie wir wollen.

Öffnen Sie http: yon.se/q

Mir ist bewusst, dass dies ein Beliebtheitswettbewerb ist. Aber hey, wenn man Golf programmieren kann, warum nicht?

Es ist jetzt ein Code Golf. \ o / Dies war zum Zeitpunkt der Veröffentlichung gültig.

Irgendwann wurde sogar eine Ausnahme für mich gemacht! Aber als @AlexA. wies darauf hin...

" Sie können beliebige Methoden verwenden (außer das Bild zu laden, mit Ausnahme der Antwort von VoteToClose) " Es ist nicht fair, Ausnahmen für bestimmte Benutzer / Antworten zuzulassen. - Alex A.

Ich stimme dem zu und möchte daher nicht, dass dies als Antwort ausgewählt wird. Das heißt nicht, dass ich nicht immer noch versuchen werde, mehr Golf zu spielen. ;)

Vielen Dank an @ ΚριτικσιΛίθος für das Abschneiden von 6 Bytes mit einer schicken kurzen URL!

Vielen Dank an @ ev3commander für das Abschneiden weiterer 5 Bytes mit einer noch ausgefalleneren, kürzeren URL!

Vielen Dank an @kennytm für den Hinweis, dass ich die Protokollgröße reduzieren und die Anführungszeichen entfernen kann, wodurch ich weitere 4 Byte einsparen kann!


1
@VoteToClose Sie können diese kürzere URL verwenden, um die Anzahl der Bytes zu verringern:http://goo.gl/gviJDX
Kritixi Lithos 25.11.15

6
@manatwork Umgekehrte Psychologie? Es funktioniert.
George Reith

1
Noch kürzer:open http:goo.gl/gviJDX
kennytm

5
Versuchen Sie diese URL:http:yon.se/q
ev3commander

6
Link ist gegabelt.
7.

12

BitShift , 2795 Bytes

10100110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101111011101010000000110101001011010100011010100010101101010010101101010010101101010010101101010010101101010010101101010011010100101101010001101010010110101001100110010101111111001010111010100101011010100101011010100101011010100101011010100101011010100101011010100101011010100101011001010110100101011001100110101000000011010100010101101010010101101010010101101010010101101010010101101010010101101010010101101010010101101010011010100101101010011001100101011111110010101110101001010110101001010110101001010110101001010110101001010110101001010110101001010110101001010110010101101001010110011001101010000000110101000101011001010110100101011100101011101010010101101010011010100101101010001010110101001010110010101101001010111001010111010100110101001011010100110011001010111111100101011101010011010100010101101010011010100010101100101011101010010101100101011101010011010100010101101010010101101010011010100101101010011001100101011111110010101110101001101010010110101000110101000101011010100110101000101011010100101011010100110101000101011001010110100101011101010011010100101101010011001100101011111110010101110101001101010001010110101001010110101001101010001010110101001101010001010110010101110101001010110010101110101001101010010110101001100110010101111111001010111010100110101000101011010100101011010100101011001010110100101011101010010101101010011010100101101010001010110101001101010010110101001100110010101111111001010111010100101011010100101011010100101011010100101011010100101011010100101011010100101011010100101011001010110100101011001100110101000000011010100101101010001010110101001010110101001010110101001010110101001010110101001010110101001010110101001101010010110101000110101001000010001010111111100101011010010101110010101110101001010110101001010110101001010110101001010110101001010110101001010110010101101001010111001010110100101011001100110101000000011010100101101010001101010010110101000110101001011010100011010100101101010001101010001010110101001010110010101101001010111001010110100101011100101011010010101110010101101111011101010000000110101001011010100011010100101101010001101010010110101000110101001011010100011010100010101101010011010100101101010001101010010110101000110101001011010100011010100101101010011001100101011111110010101101001010111001010110100101011100101011010010101110010101101001010111001010111010100110101001011010100011010100101101010001101010010110101000110101001011010100011010100100001000101011111110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101

Dies gibt aus

   @@@@@@@@@@@@    
 @@@@@@@@@@@@@@@@  
 @@@@@@@@@@@@@@@@  
 @@@@@@@@@@@@@@@@  
 @   @@@  @@@   @  
 @ @@ @ @@ @ @@@@  
 @   @@ @@@@ @  @  
 @ @@@@ @@ @ @@ @  
 @ @@@@@  @@@  @@  
 @@@@@@@@@@@@@@@@  
  @@@@@@@@@@@@@@   
   @@@@@@@@@@@@    
         @@@       
         @@        
         @         

  Dies ist wahrscheinlich der kürzeste Code, mit dem man das Logo tatsächlich noch erkennen kann ... Ich habe eine schreckliche Sprache erstellt :(

Probieren Sie es hier aus

Hinweis:
Dies wurde übermittelt, bevor die Regeln geändert wurden. Nach den aktuellen Regeln ist diese Antwort ungültig. Ich werde es hier lassen, um vielleicht Leute zu inspirieren


5
Nun, sei nicht traurig, das ist eine ganz besondere Ausgabe einer ganz besonderen Sprache.
Sven schreibt den Code

12

JavaScript

Hinweis: Diese Antwort wurde vor einer wesentlichen Änderung der Regeln gegeben, sodass diese Antwort nicht konkurriert.


Dies wird über eine verrückte und großartige String-Verarbeitung in die Konsole Ihres Browsers gedruckt.

Ich habe eine kürzere Version davon gemacht, aber ich kann sie nirgendwo finden.

Chrome / Firefox

Diese Version verdoppelt sich nur auf jedem Pixel, sodass sie proportionaler aussieht

var a = `<long_string_here>`;
console.log.apply(console, [].concat.apply( [Array(+a.split('\n')[1].split(' ')[1] ).join(' ').split(' ').map(function(l){return'%c█'.repeat(+a.split('\n')[1].split(' ')[0]).repeat(2)}).join('\n')], a.split`
`.slice(3).map(function(l){return [].concat.apply([], l.match(/\d+ \d+ \d+/g).map(function(l){return [l.replace(/(\d+) (\d+) (\d+)/,"color:rgb($1,$2,$3)"),l.replace(/(\d+) (\d+) (\d+)/,"color:rgb($1,$2,$3)")]}))})))

Safari

var a = `<long_string_here>`;
console.log.apply(console, [].concat.apply( [Array(+a.split('\n')[1].split(' ')[1] ).join(' ').split(' ').map(function(l){return'%c█'.repeat(+a.split('\n')[1].split(' ')[0])}).join('\n')], a.split`
`.slice(3).map(function(l){return l.match(/\d+ \d+ \d+/g).map(function(l){return l.replace(/(\d+) (\d+) (\d+)/,"color:rgb($1,$2,$3)")})})))

Das long_string_hereist ein ppm , ich habe dieses Skript vor einiger Zeit geschrieben, um ein beliebiges Bild auf die Konsole zu drucken .


Wie funktioniert das? Nun, JavaScript hat eine Funktion, console.logmit der Sie CSS bereitstellen können, um die Nachricht zu formatieren.

Ich habe das Unicode-Zeichen und die Farbe, die die richtige Farbe, die aus den ppm abgerufen wird.


So zeigen Sie einen anderen Bildlauf an: convert my_img.png -resize 50x50 -trim -compress none -blur 1x2 -flatten -background white ppm:-Kopieren Sie dann die Ausgabe nach<long_string_here>

Vollständiger Code

Da dies ziemlich umfangreich ist, habe ich den gesamten Code in Pastebins abgelegt, damit Sie sie ausführen können

Chrome / Firefox: Pastebin

Safari: Pastebin


Ergebnis

Bildbeschreibung hier eingeben

Firefox-Ergebnis

Safari-Ergebnis


4
Können Sie die Screenshots etwas verkleinern? Jeder einzelne von ihnen beansprucht meinen gesamten vertikalen Bildschirmbestand. (Vielleicht reicht ein Bild aus, machen Sie die restlichen Links).
Mittwoch,

Was ist die Byteanzahl? Dies ist jetzt Code-Golf
Katze

11

Rubin mit Schuhen

zoom = 10

Shoes.app(width: 19 * zoom, height: 18 * zoom) {
    background white

    stroke fill '#62B0DF'
    rect 1 * zoom, 1 * zoom, 17 * zoom, 13 * zoom, 3 * zoom

    skew 0, -45
    rect 10 * zoom, 11 * zoom, 5 * zoom, 4 * zoom

    stack(left: 1 * zoom, top: 3 * zoom) {
        para('PCG').style size: (5.66 * zoom).to_i, weight: 700, stroke: white
    }

}

Beispielausgabe:

PPCG-Logo mit Schuhen gezeichnet


10

Javascript (ES2015), 199 Byte

(+72 Bytes CSS)

Mein Code druckt das Logo <body>durch einige Unicode-Sequenzen in das Element einer Seite. Vorschläge zur Verbesserung des Codes sind willkommen (speziell für 0-pads)

Demo (getestet auf MacOsX / Chrome 46): http://codepen.io/anon/pen/EVBmKN?editors=011


Javascript (Zeilenumbrüche zur besseren Lesbarkeit eingefügt)

f=l=>{for(l of[49155,0,0,0,29070,19024,29206,16978,16780,0,0,32769,49155,65311,
65343,65407].map(r=>(1e15+r.toString(2)).slice(-16)))document.body.innerText+=
[...l].map(b=>["▉", " "][b]).join``+"\n"}

CSS

*{letter-spacing:-.1em;font:1em/.96 arial;white-space:pre;color:#62B0DF}

Ergebnis

PCG-Logo


Ungolfed und erklärt

Wenn wir das ursprüngliche 16x16-PCG-Symbol betrachten, das ursprünglich veröffentlicht wurde, könnten wir die Informationen in einem Binärformat codieren.

Zum Beispiel die erste Zeile würde wie codiert werden , 1100 0000 0000 0011wo [0, 1]Karten [blue, white]. Jede binäre Zahl kann leicht in Dezimal - Format gespeichert werden , so 1100 0000 0000 0011ist 49155. Das Array

[49155,0,0,0,29070,19024,29206,16978,16780,0,0,32769,49155,65311,65343,65407]

enthält alle Informationen (im Dezimalformat) zu jeder Pixelfarbe. Jedes Element des Arrays repräsentiert eine zu zeichnende Linie. Beachten Sie, dass einige Zeilen vollblaue Linien sind 0oder kürzer als 16Ziffern sind (eine Zeile, die mit einem blauen Pixel beginnt). Dann müssen Sie diese Binärzahlen mit der rechten Maustaste auffüllen

[...].map(r=>(1e15+r.toString(2)).slice(-16))

Die mapFunktion addiert links 15 Nullen plus die verkettete Binärzahl. Das Ergebnis wird also nach 16Pixeln auf der linken Seite aufgeteilt. Jetzt ist das Array tatsächlich

0:  "1100000000000011"
1:  "0000000000000000"
2:  "0000000000000000"
3:  "0000000000000000"
4:  "0111000110001110"
5:  "0100101001010000"
6:  "0111001000010110"
7:  "0100001001010010"
8:  "0100000110001100"
9:  "0000000000000000"
10: "0000000000000000"
11: "1000000000000001"
12: "1100000000000011"
13: "1111111100011111"
14: "1111111100111111"
15: "1111111101111111"

Schauen Sie sich die Ziffern oben genauer an: Das PCG-Logo ist fast zu sehen. :)
Beachten Sie, dass wir 16 x 18 Byte (288 Byte) benötigen, wenn wir diese Informationen im Array speichern. Dieser Ansatz erfordert stattdessen 135 Bytes

Der nächste Schritt ist das Zeichnen jeder Linie. Das Konstrukt

for(l of [...].map(...))

Schleife über das Array values(ES6-Funktion) und wir fügen dem Körper hinzu

document.body.innerText += [...l]

Dabei steht [...l] für die Binärzeichenfolge als Array. ZB würde die erste Zeile als gelesen werden

["1", "1", "0", "0" ... , "0", "0", "1", "1"]

dann verwenden wir wieder, um map()jeden Wert zu transformieren:

 b=>["▉", " "][b]

wenn der Wert 0dann ist, wird es ein LEFT SEVEN EIGHTHS BLOCK (U+2589)sonst ist es ein Raum EM SPACE (U+2003). Kurz diese Aufgabe

document.body.innerText += [...l].map(b=>["▉", " "][b]).join``+"\n"

konvertiert jedes Element 0oder 1entweder in einen quadratischen Block oder in ein Leerzeichen: Dann wird das Array verbunden und zusammen mit einer nachfolgenden Zeilenumbruchsequenz an den Body angehängt.

Das von mir verwendete CSS behebt das line-heightund das letter-spacing(Ich habe es in Chrome getestet, daher kann das Ergebnis in anderen Browsern leicht abweichen.)


3
control-f 0, und Sie KÖNNEN das PPCG-Logo in den Nullen und Einsen sehen: D
ev3commander

@ ev3commander Wenn ich -f steuere, dann verzögert es sich aufgrund der BitShift-Antwort.
Genosse SparklePony

7

Brainfuck, 120148 Bytes

Diese Antwort ist jetzt nicht wettbewerbsfähig. Das war, bevor die Regeln geändert wurden, und das hat absolut keine Hoffnung, als Code-Golf zu gewinnen.

Brainfuck-Code zur Ausgabe des Hex-Wertes des Bildes. Sehr, sehr lange.

Hier ist ein Pastebin-Link und die ersten paar Zeilen. https://paste.ee/p/LtcCy

+[--------->+<]>-.+.----.-----.++++.-[--->++++<]>+.>-[----->+<]>+.+++.-------.--[-->+++<]>-.+[--->++<]>++.[--->++++<]>+.-[---->+++<]>+.-[--->++++<]>+.-[---->+++<]>.[--->++++<]>+.-[---->+++<]>.......--[-->+++<]>-.[---->+++<]>+.+++++.-----.++++.----..+.---.--......+.++.---......+.+.--.++++++++.--------.++++++.------......----[-->+++<]>.---------.---------.--[-->+++<]>--.++.-[------>+<]>-.+.+++.---------....+.+++++++.------.+++.+.+++.-----.-.+.-.++.-----.++++.+++++.-----.-.+.-.-.--.+++++.-----.+++++++.-----.++++.[->++++++<]>++.--[------>+<]>...+++.-- 

+1 für die feste Byteanzahl, liest sich sehr gut! Nur ein Hinweis: es klebt es , sieht aus wie 120.148 Bytes.
nicael

Danke, ich habe genau denselben Zähler durchlaufen. Ich muss mich vertippt haben oder so. Jetzt behoben.
28.


6

Javascript ES6, 461 Bytes

Ich muss mehr an der Komprimierung arbeiten.

x.style.cssText='display:block;font:4px/2px monospace;color:#62B0DF',x.innerHTML=`  28
 38
 31
${a=`5
`.repeat(8)}6   a   a    7
6  8  8 8  8  8  6
6  8  +  7  71
6      +9 6
6  a9 6
6  6a 8  1 6
698   +  6
6  7+   1+    7
${a} 31
 38
  3+
   28
47
46
41+
41
48
4+`[r='replace'](/a/g,'  1')[r](/9/g,'  7  +  ')[r](/8/g,'++')[r](/7/g,11)[r](/6/g,'1++')[r](/5/g,'31+')[r](/4/g,Array(18).join` `)[r](/3/g,21)[r](/2/g,11111111)[r](/1/g,'+++')
<pre id=x></pre>


5

Bubblegum , 175 Bytes

Einer der seltenen Fälle, in denen Bubblegum für die nützlich ist !

Führen Sie ein Terminal aus, das ANSI-Escape-Codes unterstützt.

0000000: e060 3e00 a75d 000d 97c4 b1da c813 35e1  .`>..]........5.
0000010: 9ebb 75d8 b95a ea28 a23d e9c6 5d80 7ce0  ..u..Z.(.=..].|.
0000020: 8d72 884f 2eb0 23f0 a6dc 406b 5724 9b78  .r.O..#...@kW$.x
0000030: 229d 11b7 29c8 9be6 7b76 26d4 f41a 69e0  "...)...{v&...i.
0000040: e626 1923 061a 07fc 4ca6 3cc9 f947 7760  .&.#....L.<..Gw`
0000050: 86df 1d86 37a8 6825 dd9d a3b4 a050 573c  ....7.h%.....PW<
0000060: 7efa 920a 446d 98f8 eeb9 91f7 f912 ca3b  ~...Dm.........;
0000070: 9360 ddba 3450 30ff cee0 fb32 31d1 06cd  .`..4P0....21...
0000080: 0d46 2f2d 5371 896c 6bb0 5fb8 3d6d f096  .F/-Sq.lk._.=m..
0000090: 67e9 8cb8 f92f 9eaa 7d35 0914 a742 6315  g..../..}5...Bc.
00000a0: 1a62 f54d b969 b980 c832 8a3f 8c00 00    .b.M.i...2.?...

Drehen Sie den Hexdump mit um xxd -r

Hier ist ein Screenshot der Ausgabe:

Screenshot der Programmausgabe

Hinweis: Auf meinem Windows-Computer mit dem MinGW-Terminal gibt die Windows-Python-Binärdatei ANSI-Codes nicht korrekt aus, so dass das oben Genannte zutrifftpython <esolangs reference implementation>.py <infile> | cat , es sollte jedoch auf Linux-Computern korrekt funktionieren.


4

Javascript (ES6), 192 Bytes

document.body.innerHTML='<svg><path fill=#62B0DF d="'+"m01Q0010L60Q7071L74Q7565L55L37L35L15Q0504z".split('').map(v=>v*20||v).join(" ")+'"/><text y=65 fill=#FFF style="font:38pt arial">\xa0PCG'

Dies erfordert eine komprimierte Version eines SVG-D-Pfads. Leerzeichen werden entfernt, daher müssen alle Argumente eine einzelne Dezimalstelle sein. Daher wird jede Zahl mit 20 multipliziert, bevor sie in die eigentliche SVG geschrieben wird.

Ausgabe: Demo: https://jsfiddle.net/Luy6qj80/
Bildbeschreibung hier eingeben


@RikerW Es sieht nicht so aus, als würde es von einer URL genommen.
Conor O'Brien

NVM, mir ist klar geworden, was das macht. Gute Arbeit.
9.

4

LibreLogo , 122 116 115 Bytes

Verwenden von Logo zum Erstellen eines Logos . Zählt dies als Rekursion?

Code:

fontsize 20 fontcolor [3]fontweight "bold pc [24]fc 6402271 bk 40 rt 45 fd 40 fill home rectangle[64,52,5]text "PCG

Ergebnis:

Bildbeschreibung hier eingeben

Erläuterung:

fontsize 20             ; Font Size   = 20pt
fontcolor [3]           ; Font Color  = white
fontweight "bold        ; Font Weight = bold
pc [24]                 ; Pen Color   = invisible
fc 6402271              ; Fill Color  = #61B0DF
bk 40                   ; Move Back 40pt
rt 45                   ; Turn Clockwise 45 Degrees
fd 40                   ; Move Forward 40pt
fill                    ; Close and Fill the Line Shape
home                    ; Reset Initial Turtle Settings and Position
rectangle[64,52,5]      ; Draw a Rectangle with Rounded Corners
text "PCG               ; Set Text of the Actual Drawing Object as "PCG"

Bisherige Versuche:

116 Bytes:

fontsize 20 fontcolor [3]fontweight "bold pc [24]fc 0x61b0df bk 40 rt 45 fd 40 fill home rectangle[64,52,5]text "PCG

122 Bytes:

ht fontsize 20 fontcolor [3]fontweight "bold pc [24]fc [97,176,223]bk 40 rt 45 fd 40 fill home rectangle[64,52,5]text "PCG

3

JavaScript, 680 Bytes

Nun, ich hatte dies bereits für den ursprünglichen Wettbewerb beendet, dessen Regeln drastisch geändert wurden. Dies ist definitiv nicht der kürzeste Code, den Sie finden können. Es wurde für den Beliebtheitswettbewerb entwickelt und erstellt Pixel für Pixel das ursprüngliche Favicon. Es hat auch einige weitere Funktionen. :)

f=c=>{x=(d=document).body.appendChild(d.createElement`canvas`).getContext`2d`;if(c.b)x.scale(4,4);x.fillStyle=c.m?'#2d2d2d':'#62b0df';x.fillRect(0,0,16,16);x.fillStyle='#fff';for(i=0;i<(w=[0,0,1,0,14,0,15,0,0,11,15,11,0,12,1,12,14,12,15,12,0,13,1,13,2,13,3,13,4,13,5,13,6,13,7,13,11,13,12,13,13,13,14,13,15,13,0,14,1,14,2,14,3,14,4,14,5,14,6,14,7,14,10,14,11,14,12,14,13,14,14,14,15,14,0,15,1,15,2,15,3,15,4,15,5,15,6,15,7,15,9,15,10,15,11,15,12,15,13,15,14,15,15,15,1,4,2,4,3,4,7,4,8,4,12,4,13,4,14,4,1,5,4,5,6,5,9,5,11,5,1,6,2,6,3,6,6,6,11,6,13,6,14,6,1,7,6,7,9,7,11,7,14,7,1,8,7,8,8,8,12,8,13,8,]).length;i++)(t=a=>setTimeout(_=>x.fillRect(w[a++],w[a++],1,1),(c.a||0)*i))(i++)}

Sie können die Funktion mit bis zu drei Parametern aufrufen:

f({});
f({m:true});
f({b:true});
f({a:50});
f({m:true,b:true,a:50});

mgeht meta und ändert die farbe entsprechend. Und wenn Sie es zu klein finden, verwenden Sie, bum es von 16x16px auf 64x64px zu vergrößern . Zum Schluss wird adas Logo animiert, als wäre es in eine blaue Tafel eingraviert. Der Wert ist die Geschwindigkeit für jeden Animationsschritt.

Ungolfed

f=c=>{
    x=(d=document).body.appendChild(d.createElement`canvas`).getContext`2d`;
    if (c.b) x.scale(4,4);
    x.fillStyle = c.m?'#2d2d2d':'#62b0df';
    x.fillRect(0,0,16,16);
    x.fillStyle='#fff';
    for(i=0;i<(w=[0,0,1,0,14,0,15,0,0,11,15,11,0,12,1,12,14,12,15,12,0,13,1,13,2,13,3,13,4,13,5,13,6,13,7,13,11,13,12,13,13,13,14,13,15,13,0,14,1,14,2,14,3,14,4,14,5,14,6,14,7,14,10,14,11,14,12,14,13,14,14,14,15,14,0,15,1,15,2,15,3,15,4,15,5,15,6,15,7,15,9,15,10,15,11,15,12,15,13,15,14,15,15,15,1,4,2,4,3,4,7,4,8,4,12,4,13,4,14,4,1,5,4,5,6,5,9,5,11,5,1,6,2,6,3,6,6,6,11,6,13,6,14,6,1,7,6,7,9,7,11,7,14,7,1,8,7,8,8,8,12,8,13,8,]).length;i++)
        (t=a=>setTimeout(_=>x.fillRect(w[a++],w[a++],1,1),(c.a||0)*i)
        )(i++);       
}

Ausgabe

Standard

PPCG Favicon Reproduktion

Animiert

PPCG Favicon Reproduktion animiert


Sechshundertachtzig Bytes ?! Sie möchten Ihre Antwort als Leaderboard-Bot beweisen?
RedClover

2

Python 3, 10.069 Bytes

Schreibt das Hex vom ursprünglichen Logo in eine neue Datei.

with open('test.png', 'w+b') as image_file:
    for line in ['\x89PNG\r\n', '\x1a\n', '\x00\x00\x00\rIHDR\x00\x00\x00\x13\x00\x00\x00\x12\x08\x06\x00\x00\x00\xb9\x0c\xe5i\x00\x00\n', '\xa3iCCPICC Profile\x00\x00H\x89\x95\x97\x07T\x13\xe9\x16\xc7\xbf\x99I/\x94\x04"\x9d\xd0;R\x04\x02H\xaf\xa1\x08\xd2\xc1FH\x02\t%\x84@\x10\xb1#\xe2\n', '\xac\x05\x15\x91bAW)\n', "V@\xd6\x82\x88baQ\xec}A\x16\x01u],\xd8Py\x03<\xc2{\xef\xbc=\xef\xbc{\xce\x9d\xf9\x9d{\xee\xfc\xe7\xce7\xf3\x9d\xf3\x1f\x00(]\x1c\xb18\x15V\x00 M\x94%\t\xf3\xf3d\xc6\xc4\xc61\xf1\xbf\x03\x02\xc0\x00\x1ap\x02\xca\x1cn\xa6\xd8#44\x08\xfcm|\xbc\x07\xa0\x89\xf3m\x8b\t\xad\xbf\xef\xfb\xaf\xa1\xc8\xe3gr\x01\x80BQN\xe0er\xd3P>9\x91\\\xb1$\x0b\x00D\x80\xd6\xf5\x96f\x89'\xb8\x18e%\t: \xca{'8i\x8aONp\xc2\x14_\x99\xec\x89\x08\xf3B\xf9\t\x00\x04\n", "\x87#I\x02\x80<\x84\xd6\x99\xd9\xdc$T\x87B@\xd9J\xc4\x13\x8aPf\xa1\xec\xca\x15px(\xe7\xa0l\x9e\x96\x96>\xc1\x07P6N\xf8\x17\x9d\xa4\x7f\xd3L\x90ir8I2\x9ez\x96\xc9 x\x0b3\xc5\xa9\x9ce\xff\xe7r\xfc\xefHK\x95N\xdfC\x17M\x8a@\xe2\x1f6qF\xd7\xac&%=P\xc6\xa2\x84y!\xd3,\xe4M\xf6O\xb2@\xea\x1f9\xcd\xdcL\xaf\xb8i\xe6q\xbc\x03\xa7Y\x9a\x12\xe91\xcd\x1c\xc9\xcc\xb5\xc2,v\xc44K\xd2\xc3d\xfa\xfcL\x9fp\x99>\x9f\x1d$\x9b!u\x9e\x8c\x13\x85\xbe\xeci\xce\x15DDOs\xb60j\xde4g\xa6\x84\x07\xce\xf4x\xc9\xea\x12i\x98l\xe6D\x89\xaf\xec\x19\xd32gf\xe3rff\xc8\x12D\xf8\xcf\xcc\x16#\x9b\x81\xc7\xf7\xf6\x91\xd5E\x91\xb2~q\x96\xa7LS\x9c\x1a*\xeb\xe7\xa7\xfa\xc9\xea\x99\xd9\xe1\xb2k\xb3\xd0\x0fl\x9a\x939\x01\xa13:\xa1\xb2\xf5\x01^@\x08D\x80\x0f\xd2\x00'\x8b\x9f\x9351\xa8W\xbax\x99D\x98$\xc8bz\xa0;\x85\xcfd\x8b\xb8\x96\xe6L\x1b+k;\x00&\xf6\xdd\xd4k}\xcf\x98\xdcO\x10\xe3\xdaLm\xb91\x00\xeee\x00\xc053\xb5\xe8c\x00\x1cv\x07@\xf9\xecLM\xef;\x00t\xb4\xb7\xb5\x93+\x95dO\xd50\x13\x07, \x01y\xa0\x04T\x81\x16\xd0\x03\xc6\xc0\x02\xd8\x00{\xe0\x0c\xdc\x81\x0f\x08\x00! \x02\xc4\x82\xc5\x80\x0b\x04\xe8\xbc\x12\xb0\x14\xac\x00kA\x01(\x02[\xc0\x0eP\x0e\xf6\x80\xfd\xa0\x06\x1c\x01\xc7A38\x03.\x80\xcb\xe0:\xb8\t\xee\x82\xc7\xa0\x17\x0c\x80W`\x04|\x04c\x10\x04\xe1!*D\x87T!m\xc8\x002\x83l \x16\xe4\n", '\xf9@AP\x18\x14\x0b\xc5CI\x90\x08\x92B+\xa0uP\x11T\x02\x95C\xfb\xa0Z\xe8\x18t\x1a\xba\x00]\x85z\xa0\x87P\x1f4\x0c\xbd\x83\xbe\xc2\x08L\x81\x95`M\xd8\x10\x9e\r\xb3`\x0f8\x10\x8e\x80\x17\xc1Ip\x06\x9c\x0b\xe7\xc3\x9b\xe02\xb8\x1a>\x0c7\xc1\x17\xe0\xeb\xf0]\xb8\x17~\x05\x8f"\x00!#\x0cD\x07\xb1@X\x88\x17\x12\x82\xc4!\x89\x88\x04Y\x85\x14"\xa5H5\xd2\x80\xb4"\x9d\xc8m\xa4\x17y\x8d|\xc1\xe00t\x0c\x13c\x81q\xc6\xf8c"1\\L\x06f\x15\xa6\x18S\x8e\xa9\xc14a:0\xb71}\x98\x11\xcc\x0f,\x15\xab\x815\xc3:a\xd9\xd8\x18l\x12v)\xb6\x00[\x8a=\x88=\x85\xbd\x84\xbd\x8b\x1d\xc0~\xc4\xe1p\x0c\x9c\x11\xce\x01\xe7\x8f\x8b\xc5%\xe3\x96\xe3\x8aqU\xb8F\\\x1b\xae\x07\xd7\x8f\x1b\xc5\xe3\xf1\xaax3\xbc\x0b>\x04\xcf\xc1g\xe1\x0b\xf0\xbb\xf0\x87\xf1\xe7\xf1\xb7\xf0\x03\xf8\xcf\x042A\x9b`C\xf0%\xc4\x11D\x84<B)\xa1\x8ep\x8ep\x8b0H\x18#*\x10\r\x88N\xc4\x10"\x8f\xb8\x8c\xb8\x99x\x80\xd8J\xbcA\x1c \x8e\x91\x14IF$\x17R\x04)\x99\xb4\x96TFj ]"=!\xbd\'\x93\xc9\xbadG\xf2|\xb2\x90\xbc\x86\\F>J\xbeB\xee#\x7f\xa1\xd0(\xa6\x14/\xcaB\x8a\x94\xb2\x89r\x88\xd2FyHyO\xa5R\r\xa9\xee\xd48j\x16u\x13\xb5\x96z\x91\xfa\x8c\xfaY\x8e.g)\xc7\x96\xe3\xc9\xad\x96\xab\x90k\x92\xbb%\xf7F\x9e(o \xef!\xbfX>W\xbeT\xfe\x84\xfc\r\xf9\xd7\n', 'D\x05C\x05/\x05\x8e\xc2*\x85\n', '\x85\xd3\n', '\xf7\x15F\x15\xe9\x8a\xd6\x8a!\x8ai\x8a\xc5\x8au\x8aW\x15\x87hx\x9a!\xcd\x87\xc6\xa3\xe5\xd3\xf6\xd3.\xd2\xfa\xe9\x08]\x8f\xeeE\xe7\xd2\xd7\xd1\x0f\xd0/\xd1\x07\x94pJFJl\xa5d\xa5"\xa5#J\xddJ#\xca4\xe59\xcaQ\xca9\xca\x15\xcag\x95{\x19\x08\xc3\x90\xc1f\xa4263\x8e3\xee1\xbe\xce\xd2\x9c\xe51\x8b?k\xe3\xac\x86Y\xb7f}RQWqW\xe1\xab\x14\xaa4\xaa\xdcU\xf9\xaa\xcaT\xf5QMQ\xdd\xaa\xda\xac\xfaT\r\xa3f\xaa6_m\xa9\xdan\xb5Kj\xaf\xd5\x95\xd4\x9d\xd5\xb9\xea\x85\xea\xc7\xd5\x1fi\xc0\x1a\xa6\x1aa\x1a\xcb5\xf6kti\x8cjji\xfai\x8a5wi^\xd4|\xad\xc5\xd0r\xd7J\xd6\xda\xaeuNkX\x9b\xae\xed\xaa-\xd4\xde\xae}^\xfb%S\x99\xe9\xc1Le\x961;\x98#:\x1a:\xfe:R\x9d}:\xdd:c\xbaF\xba\x91\xbay\xba\x8d\xbaO\xf5Hz,\xbdD\xbd\xedz\xedz#\xfa\xda\xfa\xc1\xfa+\xf4\xeb\xf5\x1f\x19\x10\rX\x06\x02\x83\x9d\x06\x9d\x06\x9f\x0c\x8d\x0c\xa3\r7\x186\x1b\x0e\x19\xa9\x18\xb1\x8dr\x8d\xea\x8d\x9e\x18S\x8d\xdd\x8c3\x8c\xab\x8d\xef\x98\xe0LX&)&U&7MaS;S\x81i\x85\xe9\r3\xd8\xcc\xdeLhVe\xd6c\x8e5w4\x17\x99W\x9b\xdf\xb7\xa0XxXd[\xd4[\xf4Y2,\x83,\xf3,\x9b-\xdf\xcc\xd6\x9f\x1d7{\xeb\xec\xce\xd9?\xac\xec\xacR\xad\x0eX=\xb6\xa6Y\x07X\xe7Y\xb7Z\xbf\xb31\xb5\xe1\xdaT\xd8\xdc\xb1\xa5\xda\xfa\xda\xae\xb6m\xb1};\xc7l\x0e\x7f\xce\xee9\x0f\xec\xe8v\xc1v\x1b\xec\xda\xed\xbe\xdb;\xd8K\xec\x1b\xec\x87\x1d\xf4\x1d\xe2\x1d*\x1d\xee\xb3\x94X\xa1\xacb\xd6\x15G\xac\xa3\xa7\xe3j\xc73\x8e_\x9c\xec\x9d\xb2\x9c\x8e;\xfd\xe5l\xe1\x9c\xe2\\\xe7<4\xd7h.\x7f\xee\x81\xb9\xfd.\xba.\x1c\x97}.\xbd\xaeL\xd7x\xd7\xbd\xae\xbdn:n\x1c\xb7j\xb7\xe7\xeez\xee<\xf7\x83\xee\x83\x1e&\x1e\xc9\x1e\x87=\xdexZyJ<Oy~\xf2r\xf2Z\xe9\xd5\xe6\x8dx\xfby\x17zw\xfb\xd0|"}\xca}\x9e\xf9\xea\xfa&\xf9\xd6\xfb\x8e\xf8\xd9\xf9-\xf7k\xf3\xc7\xfa\x07\xfao\xf5\xbf\xcf\xd6ds\xd9\xb5\xec\x91\x00\x87\x80\x95\x01\x1d\x81\x94\xc0\xf0\xc0\xf2\xc0\xe7A\xa6A\x92\xa0\xd6`88 x[\xf0\x93y\x06\xf3D\xf3\x9aC@\x08;d[\xc8\xd3P\xa3\xd0\x8c\xd0_\xe7\xe3\xe6\x87\xce\xaf\x98\xff"\xcc:lEXg8=|Ix]\xf8\xc7\x08\xcf\x88\xcd\x11\x8f#\x8d#\xa5\x91\xedQ\xf2Q\x0b\xa3j\xa3>E{G\x97D\xf7\xc6\xcc\x8eY\x19s=V-V\x18\xdb\x12\x87\x8f\x8b\x8a;\x187\xba\xc0g\xc1\x8e\x05\x03\x0b\xed\x16\x16,\xbc\xb7\xc8hQ\xce\xa2\xab\x8b\xd5\x16\xa7.>\xbbD~\tg\xc9\x89xl|t|]\xfc7N\x08\xa7\x9a3\x9a\xc0N\xa8L\x18\xe1zqwr_\xf1\xdcy\xdby\xc3|\x17~\t\x7f0\xd1%\xb1$q(\xc9%i[\xd2\xb0\xc0MP*x-\xf4\x12\x96\x0b\xdf&\xfb\'\xefI\xfe\x94\x12\x92r(e<5:\xb51\x8d\x90\x16\x9fvZD\x13\xa5\x88:\xd2\xb5\xd2s\xd2{\xc4f\xe2\x02qo\x86S\xc6\x8e\x8c\x11I\xa0\xe4`&\x94\xb9(\xb3%K\t58]Rc\xe9zi_\xb6kvE\xf6\xe7\xa5QKO\xe4(\xe6\x88r\xba\x96\x99.\xdb\xb8l0\xd77\xf7\x97\xe5\x98\xe5\xdc\xe5\xed+tV\xac]\xd1\xb7\xd2c\xe5\xbeU\xd0\xaa\x84U\xed\xab\xf5V\xe7\xaf\x1eX\xe3\xb7\xa6f-im\xca\xda\xdf\xf2\xac\xf2J\xf2>\xac\x8b^\xd7\x9a\xaf\x99\xbf&\xbf\x7f\xbd\xdf\xfa\xfa\x02\xb9\x02I\xc1\xfd\r\xce\x1b\xf6\xfc\x84\xf9I\xf8S\xf7F\xdb\x8d\xbb6\xfe(\xe4\x15^+\xb2**-\xfaV\xcc-\xbe\xf6\xb3\xf5\xcfe?\x8foJ\xdc\xd4\xbd\xd9~\xf3\xee-\xb8-\xa2-\xf7\xb6\xbam\xad)Q,\xc9-\xe9\xdf\x16\xbc\xadi;s{\xe1\xf6\x0f;\x96\xec\xb8Z:\xa7t\xcfN\xd2N\xe9\xce\xde\xb2\xa0\xb2\x96]\xfa\xbb\xb6\xec\xfaV.(\xbf[\xe1Y\xd1X\xa9Q\xb9\xb1\xf2S\x15\xaf\xea\xd6n\xf7\xdd\r{4\xf7\x14\xed\xf9\xbaW\xb8\xf7\xc1>\xbf}M\xd5\x86\xd5\xa5\xfbq\xfb\xb3\xf7\xbf8\x10u\xa0\xf3\x17\xd6/\xb5\x07\xd5\x0e\x16\x1d\xfc~Ht\xa8\xb7&\xac\xa6\xa3\xd6\xa1\xb6\xb6N\xa3ns=\\/\xad\x1f>\xbc\xf0\xf0\xcd#\xdeGZ\x1a,\x1a\xf652\x1a\x8b\x8e\x82\xa3\xd2\xa3/\x8f\xc5\x1f\xbbw<\xf0x\xfb\t\xd6\x89\x86\x93\x06\'+O\xd1O\x156AM\xcb\x9aF\x9a\x05\xcd\xbd-\xb1-=\xa7\x03N\xb7\xb7:\xb7\x9e\xfa\xd5\xf2\xd7Cgt\xceT\x9cU>\xbb\xf9\x1c\xe9\\\xfe\xb9\xf1\xf3\xb9\xe7G\xdb\xc4m\xaf/$]\xe8o_\xd2\xfe\xf8b\xcc\xc5;\x1d\xf3;\xba/\x05^\xbar\xd9\xf7\xf2\xc5N\x8f\xce\xf3W\\\xae\x9c\xb9\xeat\xf5\xf45\xd6\xb5\xe6\xeb\xf6\xd7\x9b\xba\xec\xbaN\xfdf\xf7\xdb\xa9n\xfb\xee\xa6\x1b\x0e7Zn:\xdel\xed\x99\xdbs\xee\x96\xdb\xad\x0b\xb7\xbdo_\xbe\xc3\xbes\xfd\xee\xbc\xbb=\xf7"\xef=\xb8\xbf\xf0~\xef\x03\xde\x83\xa1\x87\xa9\x0f\xdf>\xca~4\xf6x\xcd\x13\xec\x93\xc2\xa7\n', 'OK\x9fi<\xab\xfe\xdd\xe4\xf7\xc6^\xfb\xde\xb3}\xde}]\xcf\xc3\x9f?\xee\xe7\xf6\xbf\xfa#\xf3\x8fo\x03\xf9/\xa8/J\x07\xb5\x07k\x87l\x86\xce\x0c\xfb\x0e\xdf|\xb9\xe0\xe5\xc0+\xf1\xab\xb1\xd7\x05\x7f*\xfeY\xf9\xc6\xf8\xcd\xc9\xbf\xdc\xff\xea\x1a\x89\x19\x19x+y;\xfe\xae\xf8\xbd\xea\xfbC\x1f\xe6|h\x1f\r\x1d}\xf61\xed\xe3\xd8\xa7\xc2\xcf\xaa\x9fk\xbe\xb0\xbet~\x8d\xfe:8\xb6\xf4\x1b\xfe[\xd9w\x93\xef\xad?\x02\x7f<\x19O\x1b\x1f\x17s$\x9cI+\x80\xa0\t\'&\x02\xf0\xee\x10\x00\xd4X\xd4+\xdc\x04\x80$7\xe5\x8b\'\x03\x9a\xf2\xf2\x93\x04\xfe\x8e\xa7\xbc\xf3d\xd8\x03\xb0\xbf\r\xf5"(\x06\xa0^\xa4j\r\x00\x06(\xd3\xd0\x9c\xb0E\x11\xee\x00\xb6\xb5\x95\xe5?#3\xd1\xd6fJ\x8b\x82\xbaK\xec\xe7\xf1\xf1\xf7\x9a\x00\xe0[\x01\xf8.\x19\x1f\x1f\xab\x1a\x1f\xff\x8e\xfao\xe4!\x00m\x19S~|"p\xe8_J\x89:\x0cUyv0\x13\xc1\x7f\xc6?\x00\xea\xa4\xff\x86H\x07*\xad\x00\x00\x01\x9biTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.4.0">\n', '   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n', '      <rdf:Description rdf:about=""\n', '            xmlns:exif="http://ns.adobe.com/exif/1.0/">\n', '         <exif:PixelXDimension>19</exif:PixelXDimension>\n', '         <exif:PixelYDimension>18</exif:PixelYDimension>\n', '      </rdf:Description>\n', '   </rdf:RDF>\n', '</x:xmpmeta>\n', '\x92\xfc\xe9\xf6\x00\x00\x01\xdcIDAT8\x11\xad\x94\xdfM\x1cA\x0c\xc6?\xcf\xcc\xbe\x11@\xa9 u\xa0\x1c\xa2\x03\x8aH\x0b\x89\x94\x16\x82\xeeJ\xa0\x88T\x90\x874\x92\xe7D,\xdc\xf3\xee\x8c\xf9ya\xc2\xe9 \x12\x87\xe2\x95\xd6\xf3\xc7\xfe\xc6\x1e\x7fc\xbb\xbb\xbdu7W\xae\xae)\x15e\xb9Rn\x9a\xbdH6+M\xae6\x984I%\x9bfK\x12\xb6B\xbb5\x15g?\x99Z5\xc6\x8b\xfb\xa4Z\x92\xbe\xfc\x18u\x88\xacW\xa7\x80\x9aR\xe3\xb08\xfbf\xbb\xf5CA\xf6\x0f\xdc\x9c\xbfW\xf6\x16\x19\xd5\xfd\xbd\x83\xe7$\xaaVH\x93+\xfa\x0f\xc2=G\xa6\x1e\xf9"\xd7\x97\x1f\x16\x1d\xbfO\xdf\x7f\xfd\x1d\xf7\xf5\x97\xd6\xba-\xa5\x90G\x01Z\xa6:\x8f\xd2\x1d\x02 \xc6]\xc7v\x1fw\xdd}\x1et\xa2\xcaN\x9a\x94\xb7K\x18\x86t\xd0e\xf2\xf8\xdb_\xdb\xb5\r\x8a\xc0&\n', '\xe0\x0fiv\x90}\xa7\x0e\xd8\x9d\xfb|\xd7\xce=\xc3\xcb\x14<{\x8a\xac\x1bv\x1d\x0e\x1d\xa4;\xbf\xb4\x96\xa2\x88\xfcl\xbc\x19\xfd\xf3\xcfm\xf7\x7f\x93\xde\\\x1c\xa9R\xc8\xd2\xd2\xbf#{-rk\x03\xa4\x85\x1e\xaaI\xeb\x8f\'\xaf\xf5{f\xf7-|\t\xc8\xad*%\xee\xac\xc2\xde\xcd\xeap\xc0\xab\xf3\xd3x\x9aD\x14<\xcb\xb2\xdft\x8d<U\xd9@\x90\x00\x1b\x1d!\xca\xbc\x14\x19\x0e\xce\x0c\xbe\xee\xdc\xe9\xd5\xea\x1dl"\x00\x1f\x82\n', '\xf2\xb8x|\x88Me\x98]\x80\xaaE\xce\xf0\xc5(s\xe5\x13@\xf4&N}\x92\xf5\xea\x88\t\xb9\x10\xce\x90*\xfb\x94q\xc6>\xb8J\x8eeyM\xac\xe5\x16,6e\x98\x9chK\xd1\xb2\xc28\xee"d}v\xbc\x90(z\x9f\xe1\x14Y\x84\xa5\x91F\x99y\xe2t\r\xfb3\x8e\xd0\x8d-\xc0"\xf7\x16\xa4\xe1\x9d1\xa4\x19\xbaf\x80\x97\xce\xb2DOTX+s\xd9\x14N\x98Y#3\x0e\x8b\xfey\x0f\x08\xf5\xf5\xc8\xe0\xdd\\\x98\x00\x00\x00\x00IEND\xaeB`\x82']:
        image_file.write(line)

2

R, 189 Bytes

image(t(matrix(as.integer(sapply(c(32736,28784,62968,62968,64504,65528,63736,63352,63359,64254,65532,63736,63352,62840,29936,32736),intToBits)[1:16,]),nr=16)),ax=F,col=c("white","#62B0DF"))

Mit Eindrücken zur Verdeutlichung:

image(t(matrix(as.integer(sapply(c(32736,28784,62968,62968,
                                   64504,65528,63736,63352,
                                   63359,64254,65532,63736,
                                   63352,62840,29936,32736),
                                 intToBits)[1:16,]),nr=16)),
      ax=F,col=c("white","#62B0DF"))

Ich klaue schamlos die Methode aus einer alten Antwort von mir : Ich nehme die Basis-2-Darstellung von 16 Zahlen, mache sie zu einer 16x16-Matrix aus Einsen und Nullen und zeichne sie so, wie sie ist.

Screenshot des Ergebnisses



2

Python 2, 211 Bytes

from PIL import Image
I=Image.new('P',(16,16))
I.putdata(map(int,bin(eval('0xc003'+'0'*12+'718e4a5072164252418c'+'0'*8+'8001c003ff1fff3fff7f'))[2:]))
I.putpalette([111,174,221]+[255]*3)
I.resize((64,64)).show()

2

05AB1E , 49 Bytes

•(!o4¯ZD5µå¹p‹^Ô%í2\AO-Ö"w™ÈõžvlXäà`AF•bT„.@‡19ô»

Probieren Sie es online!

...@@@@@@@@@@@@....
.@@@@@@@@@@@@@@@@..
.@@@@@@@@@@@@@@@@..
.@@@@@@@@@@@@@@@@..
.@...@@@..@@@...@..
.@.@@.@.@@.@.@@@@..
.@...@@.@@@@.@..@..
.@.@@@@.@@.@.@@.@..
.@.@@@@@..@@@..@@..
.@@@@@@@@@@@@@@@@..
..@@@@@@@@@@@@@@...
...@@@@@@@@@@@@....
.........@@@.......
.........@@........
.........@.........

2
Hm. Unter der Annahme, dass hier ASCII-Zeichen für Pixel stehen, ist dies nicht "mindestens 64 x 64 Pixel".
DLosc

2

Excel VBA, 252 246 245 237 Bytes

6 Bytes gespart dank Taylor Scott.
Dank der Inspiration von Taylor Scott konnten weitere 8 Bytes eingespart werden

Sub p()
Set s=Shapes.AddShape(106,0,0,99,82)
With s.TextEffect
.Text="PCG
.FontSize=56
.Alignment=2
End With
s.TextFrame2.WordWrap=0
s.Adjustments.Item(1)=.1
s.Adjustments.Item(2)=.9
s.Line.Visible=0
s.Fill.ForeColor.RGB=14659682
End Sub

Der Code muss von der Codepage eines Arbeitsblatts ausgeführt werden und fügt dem Arbeitsblatt die Form hinzu. Es ist nichts Besonderes, aber es verwendet direkt die abgerundete rechteckige Beschriftung, auf der das Symbol basiert. (Bei AddShape, 106entspricht msoShapeRoundedRectangularCallout.)

Symbol

Das Formatieren fügt nicht viel hinzu, erleichtert jedoch das Lesen:

Sub p()
    Set s = Shapes.AddShape(106, 0, 0, 99, 82)
    With s.TextEffect
        .Text = "PCG"
        .FontSize = 56
        .Alignment = 2
    End With
    s.TextFrame2.WordWrap = 0
    s.Adjustments.Item(1) = 0.1
    s.Adjustments.Item(2) = 0.9
    s.Line.Visible = 0
    s.Fill.ForeColor.RGB = 14659682
End Sub

Es gibt auch eine einzeilige Lösung, die im unmittelbaren Fenster ausgeführt werden soll und 1 Byte länger ist:

Set s=Sheet1.Shapes.AddShape(106,0,0,99,82):s.TextEffect.Text="PCG":s.TextEffect.FontSize=56:s.TextEffect.Alignment=2:s.TextFrame2.WordWrap=0:s.Adjustments.Item(1)=.1:s.Adjustments.Item(2)=.9:s.Line.Visible=0:s.Fill.ForeColor.RGB=14659682

Sie können die bytecount runter durch das Entfernen von ()in p() und Umwandlung With ActiveSheet. ... zuWith[Sheet1]. ...
Taylor Scott

@ TaylorScott Das Löschen der Klammern ist ein guter Punkt und etwas, das ich beim Entfernen der automatischen Formatierung bisher ignoriert habe. Ich bin mir jedoch nicht sicher, ob das erste Blatt einen Namen Sheet1hat. Ich nehme an, wir können davon ausgehen, dass der Benutzer den Code in einer neuen Datei ausführt.
Ingenieur Toast

Ich denke, weil wir bereits davon ausgehen können, dass der Benutzer Eingaben von klaren Zellen entgegennimmt oder dass eine Variable nicht initialisiert ist und im Standardzustand angenommen wird, dass der Benutzer sich auf dem Standardobjekt befindet Sheet1, sollte dies wahrscheinlich eine akzeptierte Norm sein, solange Sie dies erwähnen ist Teil der Eingabe- / Ausgabebedingung als Teil Ihrer Lösung
Taylor Scott

Es gibt also anscheinend ein Sheet1Objekt - Sie können also ein Byte löschen, indem Sie es With[Sheet1].durchWith Sheet1.
Taylor Scott,

@ TaylorScott Ha, natürlich gibt es. Wenn wir davon ausgehen, dass es sich um eine neue, leere Datei handelt, Sheet1ist dies nur der Standard-Codename des ersten Blatts. Das ist eine schöne Reduzierung von 0,4%.
Ingenieur Toast

1

MATLAB, 153-150 140 Bytes

a=65535;imshow(imresize(dec2bin([16380,a,a,a,36465,46511,36329,48557,48755,a,a,32766,16380,32*[7 6 4]],16)-47,8,'n'),[1 1 1;0.39 0.69 0.88])

Der Code nimmt ein Array von 16-Bit-Zahlen auf (leider gibt es keine Möglichkeit, diese zu codieren, die die Anzahl der Bytes verringert, abgesehen vom Lesen einer vorgespeicherten Binärdatei). BEARBEITEN: Mit ein wenig Kreativität bei der Herstellung des Arrays habe ich 3 Bytes gespart, und mit ein bisschen mehr und einer zusätzlichen Variablen kann ich zusätzlich weitere 10 Bytes sparen.

Mit diesem Array wird es in eine Binärzeichenfolge konvertiert, bei der eine ASCII-1 für Blau und eine ASCII-0 für Weiß steht. Das Array ist zu diesem Zeitpunkt 2D, da jede der 16 Zahlen zu einer 16-stelligen Zeichenfolge wird.

Ich subtrahiere 47, um dies in ein Array von 1 und 2 zu konvertieren (das für das nächste Bit benötigt wird), wobei jedes Element ein Pixel darstellt. Auch dies bleibt als 2D und ist unsere Bilddaten.

Das Bild wird dann unter Verwendung des nächsten Nachbarn um den Faktor 8 vergrößert, um ein Bild zu erzeugen, das mindestens die erforderliche Mindestgröße von 64x64px hat - tatsächlich ist es 128x128, weil ich 64 durch 16 geteilt habe, um 8 zu erhalten> _ <(nicht Fragen!).

Abschließend wird dies anhand einer Farbkarte angezeigt, in der aus einer 1 eine weiße und aus einer 2 die erforderliche Blautönung # 62B0DF wird.

Dies ist die Ausgabe:

Logo


1

Verarbeitung, 211 Bytes

noStroke();int[]n={49155,0,173175182,1245866062,12674,-2147418112,-117456893,-16777985};for(int x=0;x<256;x++){if(((n[floor(x/32)]>>(x%32))&1)>0)fill(255);else fill(98,176,223);rect(4*(x%16),4*floor(x/16),4,4);}

Speichern der Pixel in vorzeichenbehafteten Ganzzahlen (scheint der effizienteste Weg zu sein, ich werde vielleicht 2 ^ 64-Ganzzahlen ausprobieren) und dann in einem Frame drucken.

Bildbeschreibung hier eingeben


1

Swift (Spielplatz), 599 Bytes

import UIKit;class P:UIView {var b=UIBezierPath();func a(x:CGFloat,y:CGFloat){b.addLineToPoint(CGPoint(x:x,y:y))};override func drawRect(rect:CGRect){UIColor(red:0.384,green:0.690,blue:0.875,alpha:1).setFill();UIBezierPath(roundedRect:CGRectMake(0,0,200,159),cornerRadius:45).fill();b.moveToPoint(CGPoint(x:102, y:146));a(102,y:200);a(157,y:146);a(102,y:146);b.closePath();b.fill();"PCG".drawInRect(CGRectMake(35,41,200,121),withAttributes:[NSFontAttributeName: UIFont(name:".AppleSystemUIFontBold",size: 64)!,NSForegroundColorAttributeName:UIColor.whiteColor()])}}
P(frame: CGRectMake(0,0,200,200))

Ich habe beschlossen, es auszuprobieren, da das Zeichnen in Swift ziemlich unkompliziert ist und normalerweise nicht so golfen wird. Endete wertvolle Bytes mit dem Text zu verlieren ... Verdammt Sie NSDescriptiveVariableNames!

So sieht es auf dem Spielplatz aus:

Ergebnis

Ich denke, ich könnte mehr Golf spielen, indem ich Dinge wie Aliasing CGRectMake, Gruppieren von Objekten in der a-Funktion usw.


Konnten Sie keine führenden Nullen aus Floats entfernen, z. B. 0,384 bis 0,384? oder unterstützt swift das nicht?
Sagiksp

1

PHP, 145 Bytes, nicht konkurrierend

for(;$i<64;)echo strtr(sprintf("%016b\n",[49155,0,0,0,29070,19024,29206,16978,16780,0,0,32769,49155,65311,65343,65407][$i++/4]),["####","    "]);

Ich sollte stattdessen Nicht-Leerzeichen und Farben verwenden, aber ich bin zu müde atm.
Vermutung, dass 10 Bytes oder so zur Zählung hinzugefügt werden, vielleicht mehr.


2
Warum ist es nicht konkurrierend?
Kodos Johnson

@KodosJohnson Es hat keine Farben. Und das OP sagte "Nicht-Leerzeichen"
Titus

1

Excel VBA, 178 Bytes

Anonyme VBE-Sofortfensterfunktion, die keine Eingabe annimmt und das PCG-Favicon (genau wie in der obigen Eingabeaufforderung) in den Bereich ausgibt

Cells.RowHeight=48:[C1:N13,A2:P11,B12:O12,I14:I16,J14:J15,K14].Interior.Color=&HDFB062:[B5:B9,C5:D5,C7:D7,E6,G6:G8,H5:I5,J6,J8,H9:I9,L6:L8,O7:O9,M5:O5,M9:N9,N7].Interior.Color=-1

PCG Favicon


0

C (gcc) , 188 Bytes

y;main(x){int d[]={16380,~0,~0,~0,36465,62893,38833,46525,52861,~0,~0,32766,16380,1792,768,256};for(;y<64;y++){for(x=0;x<16;)printf("\33[48;5;%dm%*s",(d[y/4]>>x++)&1?14:7,8,"");puts("");}}

Probieren Sie es online!

Verwendet ANSI-Escape-Codes, um 128 horizontale und 64 vertikale Farbräume zu drucken.

ANSI PCG (Bildgröße geändert.)


0

C ++ mit SFML , 607 Bytes

#include<SFML\Graphics.hpp>
using namespace sf;using c=Color;using x=Vector2f;RenderWindow w(VideoMode(324,324),"");void p(){RectangleShape r({224.f,144.f});r.setFillColor(c(98,176,223));Vertex v[3]={x(162,324),x(243,224),x(162,224)};for(int i=0;i<3;++i)v[i].color=c(c(98,176,223));Font f;if(!f.loadFromFile("a.ttf"))return;Text t("PCG",f,150);t.setPosition(50,20);while(w.isOpen()){Event e;while(w.pollEvent(e))if(e.type==0)w.close();w.clear(c::White);for(int i=0;i<628;++i){r.setPosition(50+cos(float(i)/100.f)*50,50+sin(float(i)/100.f)*50);w.draw(r);}w.draw(v,3,PrimitiveType(3));w.draw(t);w.display();}}

Code, der die Funktion aufruft:

int main() {
    w.setFramerateLimit(60);
    w.setVerticalSyncEnabled(true);
    p();
}

Bedarf :

  • Sie benötigen eine gültige ttf-Datei a.ttfim aktuellen Verzeichnis, in dem die ausführbare Datei ausgeführt wird, damit die Schriftarten geladen werden können, um den Text anzuzeigen

  • Sie benötigen die entsprechenden SFML-DLLs im aktuellen Verzeichnis, in dem die ausführbare Datei ausgeführt wird

Ergebnis:

PPGC Icon mit C ++ und SFML

Erklärungen:

#include<SFML\Graphics.hpp>

using namespace sf;
using c=Color;
using x=Vector2f;

//Create the window that will display stuff. 324x324 dimensions
RenderWindow w(VideoMode(324,324),"");

void p(){

    //Creation of the rectangle
    RectangleShape r({224.f,144.f});
    r.setFillColor(c(98,176,223)); //Logo Color wanted

    //Vertex to draw a blue triangle
    Vertex v[3]={x(162,324),x(243,224),x(162,224)};
    for(int i=0;i<3;++i)
        v[i].color=c(c(98,176,223));

    //Creation an load of the font
    Font f;
    if(!f.loadFromFile("a.ttf"))
        return;

    //Creating the text object that will be used to draw the PCG text
    Text t("PCG",f,150);
    t.setPosition(50,20);

    //Main loop, will run while the window is open
    while(w.isOpen()){
        Event e;
        while(w.pollEvent(e))
            //sf::Event::Close int value is 0
            //It will be triggered if you click on the red cross, or press Alt+F4
            if(e.type==0)
                w.close();

        //Clear the window in white
        w.clear(c::White);

        //6.28 = 2*PI, the number of radians that nearly equals 360 degrees
        for(int i=0;i<628;++i){
            //It draws 628 rectangles, the top left part of the rectangle will do a circle
            //Same for every points of the rectangle
            r.setPosition(50+cos(float(i)/100.f)*50,50+sin(float(i)/100.f)*50);
            w.draw(r);
        }

        //sf::PrimitiveType::Triangle int value is 3
        w.draw(v,3,PrimitiveType(3));
        //Draw the text
        w.draw(t);
        w.display();
    }
}

0

tcl / tk, 113

grid [canvas .c]
.c cr o 2 2 66 48 -f #62B0DF
.c cr t 36 24 -te PCG -fi #FFF
.c cr p 30 66 30 47 44 47 -f #62B0DF

Tcl / tk, 144

grid [canvas .c]
.c create oval 2 2 66 48 -fill #62B0DF
.c create text 36 24 -text PCG -fill #FFF
.c create poly 30 66 30 47 44 47 -fill #62B0DF

pcg logo

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.