ทำ PPCG Favicon


21

มาวันที่ 1 พฤศจิกายน Programming Puzzles และ Code Golf จะจบการศึกษาดังนั้นในอีก 11 เดือนข้างหน้าเราจะต้องการบันทึกความทรงจำบางอย่างเมื่อเราไม่สำเร็จ

เขียนโปรแกรมที่สร้าง favicon PPCG ดังภาพด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

  • รูปภาพต้องมีขนาดอย่างน้อย 64x64 พิกเซล
  • สีน้ำเงินต้องเป็นสี # 62B0DF พื้นหลังสามารถเป็นสีขาวหรือสีเทาอ่อน
  • ภาพไม่จำเป็นต้องมีตัวหนังสือเหมือนที่นี่
  • อีกทางหนึ่งคือสร้างข้อความ (ที่มีขนาดอย่างน้อย 64x64 อักขระที่ไม่ใช่ช่องว่าง) โดยใช้รหัสสี ANSIสว่างมาตรฐานของสีฟ้าและสีขาว
  • ไม่อนุญาตให้สร้างรูปภาพและการนำเข้าโลโก้ PPCG

นี่คือรหัสกอล์ฟดังนั้นจึงใช้กฎมาตรฐาน รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ


10
อย่างจริงจังแม้ว่าคุณหมายถึงอะไรโดยการพิมพ์ ? ไบต์ของภาพที่แน่นอนนี้หรือไม่ แสดงภาพบนหน้าจอหรือไม่ อื่น ๆ อีก?
Dennis

3
ไม่มีข้อ จำกัด ใด ๆ เกี่ยวกับวิธีการแสดงหรือสร้างภาพหรือแนวทางใด ๆ ที่คำตอบที่น่าสนใจประเภทนี้มีความกว้างเกินไปสำหรับการประกวดความนิยม
Dennis

6
@ LegionMammal978 แท็กการประกวดความนิยมไม่ใช่ข้อแก้ตัวสำหรับข้อมูลจำเพาะที่คลุมเครือ คุณสมบัติของการประกวดความนิยมควรจัดให้อยู่ในมาตรฐานเดียวกันกับประเภทความท้าทายอื่น ๆ แท็กนี้มีไว้สำหรับความท้าทายที่มนุษย์สามารถตัดสินคุณภาพของคำตอบได้ดีกว่าคอมพิวเตอร์ (เช่นความคล้ายคลึงกันของภาพในการประมวลผลภาพ) ไม่ใช่สำหรับความท้าทายที่ไม่ชัดเจนแม้แต่คำตอบที่ดีสำหรับผู้เข้าร่วม "คะแนนโหวตส่วนใหญ่" ไม่ถือเป็นเกณฑ์การชนะอย่างมีวัตถุประสงค์หากไม่มีแนวทางในการตั้งเป้าหมายสำหรับการลงคะแนนเหล่านั้น
Martin Ender

7
ฉันขอแนะนำอย่างน้อยไม่อนุญาตให้โหลดโลโก้จากแหล่งข้อมูลใด ๆ
nicael

8
@Dennis เขาหมายถึงพิมพ์โดยใช้เครื่องพิมพ์คลาวด์ที่ใกล้ที่สุด
เครื่องมือเพิ่มประสิทธิภาพ

คำตอบ:


18

Bash (OSX), 33 27 23 18 ไบต์

คุณได้ยินผู้ชายคนนั้นในแบบที่เราชอบ

เปิด http: yon.se/q

ฉันรู้ว่านี่เป็นการประกวดความนิยม แต่เดี๋ยวก่อนเมื่อคุณสามารถเขียนโปรแกรมกอล์ฟทำไมไม่?

ตอนนี้มันเป็นรหัสกอล์ฟ \ o / สิ่งนี้ถูกต้องในเวลาโพสต์

มีข้อยกเว้นสำหรับฉันในบางจุด! แต่เป็น @AlexA ชี้ให้เห็น...

" คุณสามารถใช้วิธีการใดก็ได้ที่คุณต้องการ (ยกเว้นการโหลดภาพยกเว้นการตอบกลับของ VoteToClose) " มันไม่ยุติธรรมที่จะอนุญาตให้มีการยกเว้นสำหรับผู้ใช้ / คำตอบที่เฉพาะเจาะจง - Alex A.

ฉันเห็นด้วยกับสิ่งนี้และไม่ต้องการเลือกสิ่งนี้เป็นคำตอบ ไม่ได้หมายความว่าฉันจะยังไม่ลองลงสนามมากขึ้น ;)

ขอบคุณ @ ΚριτικσιΛίθοςที่โกนหนวดได้ 6 ไบต์ด้วย URL แบบสั้นที่สวยงาม!

ขอบคุณ @ ev3 คำสั่งสำหรับการโกนทิ้งอีก 5 ไบต์ด้วย URL ที่สั้นกว่าและสั้นกว่า!

ขอบคุณ @ kennytm ที่ชี้ให้เห็นว่าฉันสามารถลดขนาดโปรโตคอลและลบเครื่องหมายคำพูดได้ช่วยฉันอีก 4 ไบต์!


1
@VoteToClose คุณสามารถใช้ URL ที่สั้นกว่านี้เพื่อลดจำนวนไบต์:http://goo.gl/gviJDX
Kritixi Lithos

6
@Manatwork จิตวิทยาย้อนกลับ? มันใช้งานได้ดี
George Reith

1
ยิ่งสั้นลง:open http:goo.gl/gviJDX
kennytm

5
ลอง url นี้:http:yon.se/q
ev3commander

6
ลิงก์ถูก borked
Rɪᴋᴇʀ

12

BitShift 2795 ไบต์

10100110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101111011101010000000110101001011010100011010100010101101010010101101010010101101010010101101010010101101010010101101010011010100101101010001101010010110101001100110010101111111001010111010100101011010100101011010100101011010100101011010100101011010100101011010100101011010100101011001010110100101011001100110101000000011010100010101101010010101101010010101101010010101101010010101101010010101101010010101101010010101101010011010100101101010011001100101011111110010101110101001010110101001010110101001010110101001010110101001010110101001010110101001010110101001010110010101101001010110011001101010000000110101000101011001010110100101011100101011101010010101101010011010100101101010001010110101001010110010101101001010111001010111010100110101001011010100110011001010111111100101011101010011010100010101101010011010100010101100101011101010010101100101011101010011010100010101101010010101101010011010100101101010011001100101011111110010101110101001101010010110101000110101000101011010100110101000101011010100101011010100110101000101011001010110100101011101010011010100101101010011001100101011111110010101110101001101010001010110101001010110101001101010001010110101001101010001010110010101110101001010110010101110101001101010010110101001100110010101111111001010111010100110101000101011010100101011010100101011001010110100101011101010010101101010011010100101101010001010110101001101010010110101001100110010101111111001010111010100101011010100101011010100101011010100101011010100101011010100101011010100101011010100101011001010110100101011001100110101000000011010100101101010001010110101001010110101001010110101001010110101001010110101001010110101001010110101001101010010110101000110101001000010001010111111100101011010010101110010101110101001010110101001010110101001010110101001010110101001010110101001010110010101101001010111001010110100101011001100110101000000011010100101101010001101010010110101000110101001011010100011010100101101010001101010001010110101001010110010101101001010111001010110100101011100101011010010101110010101101111011101010000000110101001011010100011010100101101010001101010010110101000110101001011010100011010100010101101010011010100101101010001101010010110101000110101001011010100011010100101101010011001100101011111110010101101001010111001010110100101011100101011010010101110010101101001010111001010111010100110101001011010100011010100101101010001101010010110101000110101001011010100011010100100001000101011111110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101101001010111001010110100101011100101011010010101110010101

ผลลัพธ์นี้

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

  นี่อาจเป็นรหัสที่สั้นที่สุดที่คุณสามารถจำโลโก้ได้จริง ... ฉันสร้างภาษาที่แย่มาก :(

ลองที่นี่

หมายเหตุ
สิ่งนี้ถูกส่งก่อนที่จะมีการเปลี่ยนแปลงกฎโดยกฎปัจจุบันคำตอบนี้ไม่ถูกต้อง ฉันจะออกจากที่นี่เพื่อสร้างแรงบันดาลใจให้ผู้คน


5
ตอนนี้อย่าเศร้านั่นเป็นผลลัพธ์ที่พิเศษมากจากภาษาที่พิเศษมาก
Sven Writes Code

12

JavaScript

หมายเหตุ: คำตอบนี้ทำขึ้นก่อนที่กฎจะเปลี่ยนแปลงอย่างมีนัยสำคัญดังนั้นคำตอบนี้จึงไม่แข่งขัน


สิ่งนี้จะพิมพ์ลงในคอนโซลเบราว์เซอร์ของคุณผ่านการประมวลผลสตริงที่บ้าและน่ากลัว

ฉันทำรุ่นที่สั้นกว่านี้ แต่ฉันไม่สามารถหาได้ทุกที่

Chrome / Firefox

รุ่นนี้เพิ่มขึ้นเป็นสองเท่าในแต่ละพิกเซลเพื่อให้ได้สัดส่วนมากขึ้น

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)")]}))})))

การแข่งรถวิบาก

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)")})})))

long_string_hereเป็นppmผมเขียนสคริปต์นี้ในขณะที่กลับพิมพ์ภาพโดยพลการไปยังคอนโซล


มันทำงานอย่างไร JavaScript มีคุณสมบัติconsole.logที่คุณสามารถให้ CSS เพื่อจัดรูปแบบข้อความได้

ฉันเป็นตัวอักษรยูนิโค้ดและสีที่ถูกต้องสีซึ่งจะถูกดึงจาก ppm


หากต้องการแสดงภาพอื่น ๆ ที่เรียกใช้: convert my_img.png -resize 50x50 -trim -compress none -blur 1x2 -flatten -background white ppm:-ให้คัดลอกเอาต์พุตไปที่<long_string_here>

รหัสเต็ม

เนื่องจากนี่มันค่อนข้างใหญ่ฉันจึงใส่รหัสเต็มใน pastebins เพื่อให้คุณสามารถรันได้

Chrome / Firefox: pastebin

Safari: pastebin


ผล

ป้อนคำอธิบายรูปภาพที่นี่

ผล Firefox

ผลลัพธ์ Safari


4
คุณสามารถลดขนาดหน้าจอลงได้เล็กน้อยหรือไม่? ทุกคนในพวกเขาใช้พื้นที่หน้าจอแนวตั้งทั้งหมดของฉัน (บางทีภาพเดียวก็เพียงพอให้ทำลิงค์ที่เหลือ)
mınxomaτ

จำนวนไบต์คืออะไร นี่คือโค้ดกอล์ฟตอนนี้
cat

11

ทับทิมกับรองเท้า

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
    }

}

ตัวอย่างผลลัพธ์:

โลโก้ PPCG วาดด้วยรองเท้า


10

Javascript (ES2015), 199 ไบต์

(+72 ไบต์ของ CSS)

รหัสของฉันพิมพ์โลโก้ลงใน<body>องค์ประกอบของหน้าผ่านลำดับยูนิโค้ด คำแนะนำในการปรับปรุงโค้ดยินดีต้อนรับ (โดยเฉพาะอย่างยิ่งสำหรับ0งาน -pads)

การสาธิต (ทดสอบบน MacOsX / Chrome 46): http://codepen.io/anon/pen/EVBmKN?editors=011


Javascript (แทรกบรรทัดใหม่เพื่อให้สามารถอ่านได้)

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}

ผล

โลโก้ PCG


Ungolfed และอธิบาย

หากเราพิจารณาไอคอน PCG ขนาด 16x16 ดั้งเดิมที่โพสต์ไว้เดิมเราสามารถเข้ารหัสข้อมูลในรูปแบบไบนารี

เช่นบรรทัดแรกจะได้รับการเข้ารหัสเป็น1100 0000 0000 0011ที่แมปไป[0, 1] [blue, white]ทุกเลขฐานสองสามารถเก็บไว้ได้อย่างง่ายดายในรูปแบบทศนิยมเพื่อให้เป็น1100 0000 0000 0011 49155อาเรย์

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

มีข้อมูลทั้งหมด (ในรูปแบบทศนิยม) เกี่ยวกับแต่ละพิกเซลของสี แต่ละองค์ประกอบของอาร์เรย์แสดงถึงเส้นที่ต้องวาด โปรดทราบว่าบางบรรทัดเป็น0(เส้นสีฟ้าเต็ม) หรือความยาวน้อยกว่า16ตัวเลข (เส้นที่ขึ้นต้นด้วยพิกเซลสีฟ้า): จากนั้นเราจำเป็นต้องใช้ขวาเลขฐานสองเหล่านี้

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

mapฟังก์ชั่นเพิ่ม 15 เลขศูนย์ไปทางซ้ายบวกจำนวนไบนารีตัดแบ่ง ดังนั้นผลลัพธ์ถูกแบ่งเป็น16พิกเซลทางด้านซ้าย ตอนนี้อาร์เรย์เป็นจริง

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"

ดูตัวเลขข้างต้นให้ละเอียดยิ่งขึ้น: เราเกือบจะเห็นโลโก้ PCG :)
โปรดทราบว่าหากเราเก็บข้อมูลนี้ไว้ในอาร์เรย์เราจำเป็นต้องใช้ 16x18 ไบต์ (288 ไบต์) วิธีนี้ต้องใช้ 135 ไบต์แทน

ขั้นตอนต่อไปคือการวาดแต่ละบรรทัด การก่อสร้าง

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

วนรอบอาร์เรย์values(คุณลักษณะ ES6) และเราเพิ่มลงในเนื้อความ

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

โดยที่[...l] แทนสตริงไบนารีเป็นอาร์เรย์ เช่นบรรทัดแรกจะอ่านเป็น

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

จากนั้นอีกครั้งเราใช้map()ในการแปลงค่าแต่ละค่า:

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

หากมีค่าเป็น0แล้วมันจะกลายเป็นมิฉะนั้นจะเป็นช่องว่างLEFT SEVEN EIGHTHS BLOCK (U+2589) EM SPACE (U+2003)ในระยะสั้นการมอบหมายนี้

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

แปลงแต่ละส่วน0หรือ1ทั้งสองอย่างเป็นบล็อกสี่เหลี่ยมหรือเข้าไปในช่องว่าง: จากนั้นอาร์เรย์จะถูกรวมเข้าด้วยกันและพร้อมกับลำดับบรรทัด newline ต่อท้ายจะถูกผนวกเข้ากับเนื้อหา

CSS ที่ฉันใช้แก้ไขline-heightและletter-spacing(ฉันทดสอบกับ Chrome ดังนั้นผลลัพธ์อาจแตกต่างกันเล็กน้อยในเบราว์เซอร์อื่น)


3
control-f 0 และคุณสามารถเห็นโลโก้ PPCG ใน 0s และ 1s: D
ev3commander

@ ev3commander เมื่อฉันควบคุม -f มันจะเริ่มล้าหลังเนื่องจากคำตอบของ BitShift
สหาย SparklePony

7

Brainfuck, 120148 ไบต์

คำตอบนี้ไม่สามารถแข่งขันได้ นี่คือก่อนที่กฎจะเปลี่ยนไปและสิ่งนี้ไม่มีความหวังที่จะชนะอย่างแน่นอนในฐานะนักกอล์ฟ

รหัส Brainfuck เพื่อส่งออกค่าฐานสิบหกของภาพ มากนานมาก

นี่คือลิงค์ pastebin และคู่แรกของบรรทัด https://paste.ee/p/LtcCy

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

+1 สำหรับจำนวนไบต์ที่ทึบอ่านดีมาก! เพียงทราบ: วางไว้ที่นั่นดูเหมือน 120,148 ไบต์
nicael

ขอบคุณฉันใส่ผ่านเคาน์เตอร์เดียวกันแน่นอน ฉันต้องพิมพ์ผิดหรือบางอย่าง แก้ไขแล้ว
Rɪᴋᴇʀ


6

Javascript ES6, 461 ไบต์

ฉันต้องทำงานกับการบีบอัดให้มากขึ้น

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

หมากฝรั่ง , 175 ไบต์

หนึ่งในเวลาที่หายาก Bubblegum นั้นมีประโยชน์สำหรับการ !

ทำงานในเทอร์มินัลที่รองรับรหัสหลบหนี ANSI

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.?...

ย้อนกลับ hexdump ด้วย xxd -r

นี่คือภาพหน้าจอของเอาต์พุต:

สกรีนช็อตของเอาต์พุตโปรแกรม

หมายเหตุ: บนเครื่อง Windows ของฉันด้วยเทอร์มินัล MinGW ไบนารี Windows Python ไม่ส่งออกรหัส ANSI ได้อย่างถูกต้องดังนั้นจึงเป็นไปได้python <esolangs reference implementation>.py <infile> | catแต่ควรทำงานอย่างถูกต้องบนเครื่อง Linux


4

Javascript (ES6), 192 ไบต์

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'

สิ่งนี้ใช้เส้นทาง SVG D ที่ถูกบีบอัด ช่องว่างจะถูกลบดังนั้นข้อโต้แย้งทั้งหมดจะต้องเป็นทศนิยมเดียวดังนั้นจำนวนใด ๆ จะถูกคูณด้วย 20 ก่อนที่จะถูกเขียนลงใน svg จริง

ผลลัพธ์: การ สาธิต: https://jsfiddle.net/Luy6qj80/
ป้อนคำอธิบายรูปภาพที่นี่


@RikerW ดูเหมือนว่าจะไม่ได้รับจาก URL
Conor O'Brien

NVM ฉันรู้ว่ามันทำอะไร งานที่ดี.
Rɪᴋᴇʀ

4

LibreLogo , 122 116 115 ไบต์

โดยใช้รูปแบบการสร้างโลโก้ สิ่งนี้นับเป็นการเรียกซ้ำหรือไม่?

รหัส:

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

ผล:

ป้อนคำอธิบายรูปภาพที่นี่

คำอธิบาย:

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"

ความพยายามก่อนหน้า:

116 ไบต์:

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 ไบต์:

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 ไบต์

ฉันได้ทำสิ่งนี้เสร็จแล้วสำหรับการแข่งขันครั้งแรกซึ่งมีการเปลี่ยนแปลงกฎอย่างมาก นี่ไม่ใช่รหัสสั้นที่สุดที่คุณสามารถทำได้ มันถูกออกแบบมาสำหรับการประกวดความนิยมและสร้างพิกเซล favicon ดั้งเดิมทีละพิกเซล มันมีคุณสมบัติเพิ่มเติมอีกด้วย :)

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++)}

คุณสามารถเรียกใช้ฟังก์ชันด้วยพารามิเตอร์มากถึงสามพารามิเตอร์:

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

mไปเมตาและเปลี่ยนสีตาม และถ้าคุณพบว่ามันมีขนาดเล็กใช้งานbเพื่อ supersize ได้จาก16x16pxเพื่อ64x64px ในที่สุดแอนิเมชั่นaโลโก้เหมือนมันถูกจารึกไว้ในกระดานสีน้ำเงิน ค่าคือความเร็วสำหรับแต่ละภาพเคลื่อนไหว

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++);       
}

เอาท์พุต

ค่าเริ่มต้น

การทำสำเนา PPCG Favicon

ภาพเคลื่อนไหว

PPCG Favicon การทำสำเนาภาพเคลื่อนไหว


หกร้อยแปดสิบแปดไบต์! คุณต้องการที่จะทำให้คำตอบของคุณพิสูจน์ลีดเดอร์บอร์ดบอท?
RedClover

2

Python 3, 10,069 ไบต์

เขียน hex จากโลโก้ต้นฉบับไปยังไฟล์ใหม่

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 ไบต์

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"))

ด้วยการเยื้องเพื่อความชัดเจน:

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"))

ฉันขโมยวิธีอย่างไร้ยางอายจาก คำตอบเก่า ๆ ของฉัน : ฉันใช้การแทนเบส -2 จาก 16 ตัวเลข, ทำให้มันกลายเป็นเมทริกซ์ 16x16 ของ 1s และ 0s แล้วพล็อตตามนั้น

สกรีนช็อตของผลลัพธ์



2

Python 2, 211 ไบต์

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 ไบต์

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

ลองออนไลน์!

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

2
ฮึ่ม สมมติว่าตัวอักษร ASCII ยืนอยู่ตรงจุดนี้นี่ไม่ใช่ "อย่างน้อย 64x64 พิกเซล"
DLosc

2

Excel VBA, 252 246 245 237 ไบต์

บันทึก 6 ไบต์ขอบคุณ Taylor Scott
บันทึกอีก 8 ไบต์ด้วยแรงบันดาลใจจาก Taylor Scott

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

รหัสจะต้องเรียกใช้จากหน้ารหัสของแผ่นงานและจะเพิ่มรูปร่างให้กับแผ่นงานนั้น มันไม่มีอะไรน่าแปลกใจ แต่มันจะใช้ไฮไลต์รูปทรงสี่เหลี่ยมผืนผ้าโดยตรงซึ่งเป็นไปตามไอคอน (สำหรับAddShape, 106สอดคล้องกับmsoShapeRoundedRectangularCallout)

ไอคอน

การจัดรูปแบบไม่ได้เพิ่มอะไรมากมาย แต่มันทำให้อ่านง่ายขึ้น:

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

นอกจากนี้ยังมีโซลูชันบรรทัดเดียวที่ต้องการเรียกใช้ในหน้าต่างทันทีที่มีความยาว 1 ไบต์:

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

คุณจะได้รับ bytecount ลงโดยการลบ()ในp() และแปลงWith ActiveSheet. ... ไปWith[Sheet1]. ...
เทย์เลอร์สกอตต์

@TaylorScott การวางวงเล็บเป็นจุดที่ดีและสิ่งที่ฉันไม่สนใจก่อนหน้านี้เมื่อทำการลบการจัดรูปแบบอัตโนมัติ ฉันไม่แน่ใจเกี่ยวกับการสันนิษฐานว่าแผ่นแรกมีชื่อSheet1แม้ว่า ฉันคิดว่าเราสามารถสันนิษฐานได้ว่าผู้ใช้เรียกใช้รหัสในไฟล์ใหม่
Engineer Toast

ฉันคิดว่าเพราะเราสามารถสันนิษฐานได้ว่าผู้ใช้กำลังรับข้อมูลจากเซลล์ที่ชัดเจนหรือตัวแปรไม่ได้กำหนดค่าเริ่มต้นและที่สถานะเริ่มต้นที่สมมติว่าผู้ใช้อยู่บนSheet1วัตถุเริ่มต้นควรเป็นบรรทัดฐานที่ยอมรับได้ตราบใดที่คุณพูดถึงว่า เป็นส่วนหนึ่งของเงื่อนไขอินพุต / เอาต์พุตซึ่งเป็นส่วนหนึ่งของโซลูชันของคุณ
Taylor Scott

เห็นได้ชัดว่ามีSheet1วัตถุอยู่ - ดังนั้นคุณสามารถวางไบต์โดยแทนที่With[Sheet1].ด้วยWith Sheet1.
Taylor Scott

@TaylorScott Ha แน่นอนมี หากเราถือว่าไฟล์ใหม่ว่างเปล่านั้นSheet1เป็นเพียงชื่อรหัสเริ่มต้นของชีตแรก นั่นเป็นการลดลง 0.4% ที่ดี
Engineer Toast

1

MATLAB, 153 150 140 ไบต์

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])

รหัสใช้อาร์เรย์จำนวน 16 บิต (น่าเศร้าที่ไม่มีวิธีการเข้ารหัสที่ช่วยลดจำนวนไบต์ที่นอกเหนือจากการอ่านจากไฟล์ไบนารีที่บันทึกไว้) แก้ไข: ด้วยความคิดสร้างสรรค์เล็ก ๆ น้อย ๆ ในการสร้างอาร์เรย์ฉันได้บันทึก 3 ไบต์และมีตัวแปรเพิ่มเติมอีกเล็กน้อยและฉันสามารถบันทึกอีก 10 รายการได้

ด้วยอาร์เรย์นี้มันจะถูกแปลงเป็นสตริงเลขฐานสองโดยที่ ascii '1' แทนสีน้ำเงินและ ascii '0' เป็นสีขาว อาเรย์จะเป็นแบบ 2 มิติ ณ จุดนี้เนื่องจากตัวเลข 16 ตัวแต่ละตัวจะกลายเป็นสตริงอักขระ 16 ตัว

ฉันลบ 47 เพื่อแปลงสิ่งนี้เป็นอาร์เรย์ของ 1 และ 2 (จำเป็นสำหรับบิตถัดไป) ซึ่งแต่ละองค์ประกอบแทนหนึ่งพิกเซล สิ่งนี้ยังคงเป็น 2D และเป็นข้อมูลภาพของเรา

ภาพจะถูกปรับขนาดขึ้นด้วยปัจจัย 8 โดยใช้เพื่อนบ้านที่ใกล้เคียงที่สุดในการสร้างภาพซึ่งอย่างน้อยต้องมีขนาดขั้นต่ำ 64x64px - อันที่จริงมันคือ 128x128 เพราะอย่างใดฉันแบ่ง 64 โดย 16 เพื่อให้ได้ 8> _ <(ไม่ ถาม!).

ในที่สุดนี้จะปรากฏขึ้นโดยใช้แผนที่สีเมื่อมี 1 กลายเป็นสีขาวและ 2 ใด ๆ กลายเป็น # 62B0DF แรเงาสีฟ้าที่จำเป็น

นี่คือผลลัพธ์:

เครื่องหมาย


1

กำลังประมวลผล 211 ไบต์

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);}

การจัดเก็บพิกเซลภายในจำนวนเต็มที่มีลายเซ็น (ดูเหมือนจะเป็นวิธีที่มีประสิทธิภาพมากที่สุดฉันอาจลองใช้จำนวนเต็ม 2 ^ 64) แล้วพิมพ์ลงในเฟรม

ป้อนคำอธิบายรูปภาพที่นี่


1

Swift (สนามเด็กเล่น), 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))

ฉันตัดสินใจที่จะปล่อยมันไปเพราะการวาดในสวิฟต์ค่อนข้างตรงไปตรงมาและมันก็ไม่ได้เล่นกอล์ฟแบบนี้ จบลงด้วยการสูญเสียไบต์มีค่าที่มีข้อความประณาม ... คุณNSDescriptiveVariableNames!

นี่คือลักษณะที่ปรากฏในสนามเด็กเล่น:

ผล

ฉันคิดว่าฉันสามารถเล่นกอล์ฟได้มากขึ้นโดยใช้นามแฝงเช่นCGRectMakeจัดกลุ่มวัตถุในฟังก์ชั่น ฯลฯ


คุณไม่สามารถลบเลขศูนย์นำหน้าจากการลอยเช่น 0.384 ถึง. 384 ได้ไหม หรือไม่สนับสนุนอย่างรวดเร็ว
sagiksp

1

PHP, 145 ไบต์, ไม่ใช่การแข่งขัน

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]),["####","    "]);

ฉันควรใช้แบบไม่ว่างเปล่าและใช้สีแทน แต่ฉันเหนื่อยเกินไป
คาดเดาว่าจะเพิ่ม 10 ไบต์หรือมากกว่านั้นในการนับอาจมากกว่า


2
ทำไมมันถึงไม่ใช่การแข่งขัน?
Kodos Johnson

@KodosJohnson ไม่มีสี และ OP กล่าวว่า "ตัวละครที่ไม่ใช่ช่องว่าง"
Titus

1

Excel VBA ขนาด 178 ไบต์

ไม่ระบุชื่อ VBE ฟังก์ชั่นหน้าต่างทันทีที่ไม่รับอินพุตและเอาต์พุต PCG Favicon

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 ไบต์

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("");}}

ลองออนไลน์!

ใช้รหัสหลบหนี ANSI เพื่อพิมพ์ช่องว่างสีแนวนอน 128 และ 64 แนวนอน

ANSI PCG (ภาพที่ปรับขนาดแล้ว)


0

C ++ พร้อมSFMLขนาด 607 ไบต์

#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();}}

รหัสที่เรียกใช้ฟังก์ชัน:

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

ข้อกำหนด:

  • คุณจำเป็นต้องมีไฟล์ ttf ที่ถูกต้องซึ่งเรียกว่าa.ttfในไดเรกทอรีปัจจุบันที่ไฟล์ปฏิบัติการกำลังทำงานอยู่ดังนั้นจึงสามารถโหลดแบบอักษรเพื่อแสดงข้อความ

  • คุณต้องมี SFML DLLs ที่สอดคล้องกันในไดเรกทอรีปัจจุบันที่เรียกใช้ไฟล์ปฏิบัติการ

ผลลัพธ์:

ไอคอน PPGC พร้อม C ++ และ SFML

คำอธิบาย:

#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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.