따뜻한 환영 비밀 모자를 그립니다.


56

Winter Bash 2014 가 가장 중요하며 우리 모두 모자를 좋아하지 않습니까? 특히 비밀 모자!

그렇다면 왜 비밀 모자를 쓰지 않겠습니까?

도전

귀하의 임무는 귀하가 선택한 언어 로이 페이지 에 표시된대로 정확한 구성을 갖도록 Warm Welcome Hat을 비례 적으로 그리는 것 입니다.

항상 그렇듯이 벡터 또는 래스터 그래픽을 사용하여 모자를 파일이나 화면으로 렌더링 할 수 있습니다. 출력이 래스터 화 된 경우 이미지의 크기는 400x400 픽셀 이상이어야합니다.

또한 모자의 실제 내용 (이미지의 색상 부분 경계 사각형 영역)이 출력 이미지의 40 % 이상을 차지해야합니다.

사양

아래 이미지에는 모자의 다양한 치수가 나와 있습니다. 모든 치수는 단위 (예 : 픽셀)입니다. 이미지의 모든 테두리 반경은 13단위 반경으로 그려집니다 .

여기에 이미지 설명을 입력하십시오

색상 :

  • 별과 원형 링의 빨간색-RGB (255, 28, 34)
  • 원 안의 노랑-rgb (255, 202, 87)
  • 가장 밝은 회색-RGB (88, 88, 92)
  • 가장 어두운 회색-RGB (31, 26, 26)
  • 중간 회색-RGB (64, 64, 64)

채점

이것은 코드 골프이므로 가장 짧은 대답 (바이트)이 이깁니다.

경고의 말로, 기존 압축 사용 (압축 GIF 포함)은 여러 표준 허점에 속합니다 .


제안 된 편집 정보 : 거부하기로했습니다. 이미지가 그대로 올바르게 표시되는 것을 볼 수 있습니다.
mbomb007

답변:


15

GolfScript ( 376 373 364 350 또는 645 610 607 바이트)

SVG의 정확한 구성을 요구 한 원래 사양에 따라 골프 SVG는 607 바이트로 생성됩니다.

코드에는 비 인쇄 문자가 많이 포함되어 있으므로 xxd 출력은 다음과 같습니다.

0000000: 221a c837 cde6 0c0c 4658 5786 cead ca66  "..7....FXW....f
0000010: 3507 d130 1577 4657 4067 df6b 97e7 510f  5..0.wFW@g.k..Q.
0000020: cbb0 e3e5 77c6 a91d d830 fa92 eea0 d447  ....w....0.....G
0000030: 7721 cc59 3f4c 230b e0bb fd3e ecf3 d4f7  w!.Y?L#....>....
0000040: 2c6b abd5 b1e5 939d 68b4 e89e 39ca a259  ,k......h...9..Y
0000050: b934 ef6f 203a 7abf 1a2c b468 3351 4c53  .4.o :z..,.h3QLS
0000060: c056 9a59 f38c a97e cf82 8840 ee7c 43e4  .V.Y...~...@.|C.
0000070: 123f df1a 00d4 542d a29c 0195 3ad5 4af4  .?....T-....:.J.
0000080: c644 57c7 0b6b 4d4f 908b 8cf7 c8e2 536d  .DW..kMO......Sm
0000090: 9d36 1139 1406 5c5c dcbc 3a11 1993 63a6  .6.9..\\..:...c.
00000a0: 4f8b 7b62 de77 5158 a485 dec1 87b4 1d11  O.{b.wQX........
00000b0: 01b1 e49d 8adb 0b29 ad44 93e4 7bbd 027e  .......).D..{..~
00000c0: 7a6f 60ca 99f4 6ab3 7bc0 63c3 ba70 1220  zo`...j.{.c..p. 
00000d0: 1aea 9206 da5a 95ce 6f70 67f8 856e 8807  .....Z..opg..n..
00000e0: adec e533 0c1e 3dc6 96e5 54d4 2837 4497  ...3..=...T.(7D.
00000f0: f5ea 2135 d261 9c02 fa61 c12a 7180 085a  ..!5.a...a.*q..Z
0000100: a5b8 e3d6 68cb 0659 f4ad d01d 5fc4 9e5b  ....h..Y...._..[
0000110: d030 46d5 96c4 439f da99 2cb1 52b9 5d53  .0F...C...,.R.]S
0000120: 098e 7598 2785 a962 a40d edbd 18cb e46c  ..u.'..b.......l
0000130: 6edb ba9f 17be 36ab ef23 0caf 3ce8 352d  n.....6..#..<.5-
0000140: fad5 762b a388 ca17 413f 7dac 6dd1 116e  ..v+....A?}.m..n
0000150: b2e8 9cd1 d00a dda1 716d a148 acc7 8749  ........qm.H...I
0000160: f2c3 a7a9 8128 02e9 d83c f350 7a02 74ec  .....(...<.Pz.t.
0000170: 6270 6089 a16d 7bfa b6dd e56a 366a d85b  bp`..m{....j6j.[
0000180: 33e5 b777 05c1 6f4e f06b ca95 3ffc 49f7  3..w..oN.k..?.I.
0000190: 1a08 6bc5 abb0 c745 e439 b87e b81c 52c8  ..k....E.9.~..R.
00001a0: a445 935e 5c5c 00d3 34de c002 721c b69d  .E.^\\..4...r...
00001b0: 16ee aab0 9562 4d44 44ed 0193 13a7 eed2  .....bMDD.......
00001c0: 99e4 6350 a756 c21a 980b 6bca 57f9 8443  ..cP.V....k.W..C
00001d0: eecc 9fd1 05ce 78c4 f95f dc90 8926 6eb4  ......x.._...&n.
00001e0: 88b8 7b90 44be 33c3 cc2a b032 d809 17d0  ..{.D.3..*.2....
00001f0: 7e32 c4c9 e37f ceb3 b1e0 b634 a690 8163  ~2.........4...c
0000200: cd34 e3d9 9768 3e13 ac10 5003 1cb7 af6b  .4...h>...P....k
0000210: 863f cba0 9896 e50a d029 8e2b 584c d86f  .?.......).+XL.o
0000220: 67a7 120e 318a cb22 3235 3662 6173 6520  g...1.."256base 
0000230: 3132 3462 6173 655b 305d 2f28 3332 2c7b  124base[0]/(32,{
0000240: 5c5b 3124 295d 2f5c 3224 3d2a 7d2f 5c2c  \[1$)]/\2$=*}/\,
0000250: 297b 2d2e 3634 3e33 322a 2b7d 2b25 2b    ){-.64>32*+}+%+

추종자들 에게 익숙한 구성 문법 엔진의 변형 입니다.

'MAGIC STRING'256base 124base[0]/(40,{\[1$)]/\2$=*}/\,){-.64>32*+}+%+

골퍼가 된 SVG를 대문자로 바꾸고 압축 한 다음 압축을 풀고 소문자로 만드는 것이 약간 더 나은 것으로 판명되었습니다.

실행하면 840 바이트 SVG가 생성됩니다.

<svg width="192" height="192"><g transform="translate(-19.356 39.823) scale(.11435537421402706)"><path d="m873 126c-28-56-97-79-153-50l-361 182c-40 20-63 60-62 102v369c0 63 51 114 114 114h1198c63 0 114-51 114-114v-369c1-62-22-82-62-102l-361-182c-56-29-125-6-153 50c-28 56-6 124 49 152h-372c55-28 77-96 49-152z" fill="#231f20"/><path d="m1642 812c0 60-49 109-109 109h-1047c-60 0-109-49-109-109v-435c0-60 49-109 109-109h96.557636322653a530 274 0 0 1 854.884727354693 0h96.557636322653c60 0 109 49 109 109v435z" fill="#424143"/><path d="m1561 826c0 52-42 95-95 95h-912c-52 0-95-42-95-95v-463c0-52 42-95 95-95h912c52 0 95 42 95 95v463z" fill="#595a5c"/><circle cy="594" cx="1010" r="199" fill="#f9c960" stroke="#ec2227" stroke-width="42"/><path d="m1063 615l85-62-105 0-33-100-33 100-105 0 85 62-32 100 85-62 85 62z" fill="#ec2227"/></g></svg>

위치를 몇 밀리 픽셀로 조정하고 가장 어두운 회색 부분에서 하나의 작은 비대칭을 수정했습니다.


그러나 채팅에서 질문과 토론에 대한 변경 사항은 실제로 SVG에 대한 좋은 근사치를 만드는 것이 허용되며 364 바이트로 수행 할 수 있음을 나타냅니다. 압축 해제 체인은 비슷하므로 GolfScript 파일의 xxd 출력은 다음과 같습니다.

0000000: 2710 9f1d b7bb 6ca9 ad60 1325 b869 45a6  '.....l..`.%.iE.
0000010: 9371 2eee 1271 1dac 0244 9ca3 2820 e6be  .q...q...D..( ..
0000020: b038 68e4 4e53 bbe9 7809 a67a 5f02 2f14  .8h.NS..x..z_./.
0000030: 66a1 0cb3 648c 76d4 0450 028d fd32 b81f  f...d.v..P...2..
0000040: 351a d449 bba8 e685 4de8 1fc0 abfd 8b9f  5..I....M.......
0000050: d9d9 33cd 16e9 5c27 b7a0 dc0f 4138 a2ca  ..3...\'....A8..
0000060: 2b45 a2c2 571e 7e1e 1030 dcfd b48e 377b  +E..W.~..0....7{
0000070: 112e 7762 d14c 1fed 0bcb 15b4 c383 f828  ..wb.L.........(
0000080: b317 8c9f 890b ce84 7782 4c10 fc8e 7602  ........w.L...v.
0000090: 9fef 9563 fe30 45b0 7144 30b3 f3c5 fa22  ...c.0E.qD0...."
00000a0: ccae 8a08 c506 466b 6b84 317e 62dd a558  ......Fkk.1~b..X
00000b0: 8423 d8ef 9d67 e807 0d23 847d 4dab 68ff  .#...g...#.}M.h.
00000c0: 952b ca20 14d3 0881 2880 6611 eb53 10c6  .+. ....(.f..S..
00000d0: 0058 573f 3c87 957c 8512 59ff 94f3 ae38  .XW?<..|..Y....8
00000e0: 4145 bf8d 4123 6e84 aa62 904d a878 0bca  AE..A#n..b.M.x..
00000f0: 854b deaa 32ae 70fc b31a 9578 676a df8a  .K..2.p....xgj..
0000100: 7310 ecfc 47d2 5dde 1a8c 3898 943b ede3  s...G.]...8..;..
0000110: d0a2 55a4 eb00 b623 0302 d79c a712 b616  ..U....#........
0000120: 5037 dc2d 0dad 2732 3536 6261 7365 2031  P7.-..'256base 1
0000130: 3133 6261 7365 5b30 5d2f 2832 312c 7b5c  13base[0]/(21,{\
0000140: 5b31 2429 5d2f 5c32 243d 2a7d 2f5c 2c29  [1$)]/\2$=*}/\,)
0000150: 7b2d 2e36 343e 3332 2a2b 7d2b 252b       {-.64>32*+}+%+

547 바이트 SVG 파일을 생성합니다.

<svg width="1426" height="858"><path d="m475 114-361.5 182v370h1199v-370l-361.5-182" stroke="#231f20" stroke-linecap="round" stroke-linejoin="round" stroke-width="227"/><ellipse cx="713" cy="367" rx="530" ry="274" fill="#424143"/><rect x="80" y="205" width="1266" height="653" rx="109" ry="109" fill="#424143"/><rect x="161" y="205" width="1103" height="653" rx="95" ry="95" fill="#595a5c"/><circle cx="713" cy="531" r="199" fill="#f9c960" stroke="#ec2227" stroke-width="42"/><path d="m713 390 85 262-223-162 276 0-223 162z" fill="#ec2227"/></svg>

골프 스크립트에서 9 바이트로 변환 된 SVG에서 7 바이트 절약을 지적한 Paul LeBeau 에게 감사의 말을 전하며 5 점만으로 별을 그릴 수 있음을 보여준 그의 답변에 감사합니다. (그의 대답을 사용하면 329 바이트 또는 323까지 조정할 수 있지만 그의 대답은 마음에 들지 않습니다.)

Inkscape로 50 %로 내보내기 :

PNG로 렌더링 된 모자 이미지

구조를 확인하기 fill="none"위해 모든 것에 렌더링 된 SVG 와 일부 채우기 색상이 획 색상으로 변경되었습니다. 개요 이미지


@Optimizer이지만 JS와 달리 거의 완벽한 픽셀입니다. 골프를 치는 것 외에 원래 SVG와의 유일한 차이점은 비대칭을 수정한다는 것입니다. Martin의 마크 업 이미지 스타일로 이완하면 많이 절약 할 수 있습니다.
피터 테일러

"<g>"및 "</ g>"는 필요하지 않으므로 조금 더 저장할 수 있습니다.
Paul LeBeau

@PaulLeBeau, 정말 감사합니다.
Peter Taylor

26

SVG ( 462460454429384365 바이트)

나는 그것이 프로그래밍 언어가 아니라는 것을 알고 있지만 이것이 SVG 출력을 생성하는 사람에게는 적어도 유용 할 것이라고 생각했습니다 ...

Peter Taylor의 SVG를 기반으로합니다.

원래의 좌표를 사용하고 경로를 약간 최적화함으로써 SVG를 축소 할 수있었습니다. 나는 또한 색을 고쳤다.

<svg><g stroke-linecap=round stroke-linejoin=round stroke-width=26><path d=M54,13,13,36V75H151V36L110,13 stroke=#1f1a1a /><path d=M21,84V36H37A91,91,0,0,1,127,36h16V84z stroke=#404040 /><path d=M30,36v48h104V36z stroke=#58585c fill=#58585c /></g><circle cx=82 cy=60 r=23 fill=#ffca57 stroke=#ff1c22 stroke-width=5 /><path d=M82,43,92,74,66,55H98L72,74z fill=#ff1c22

업데이트 : Peter Taylor가 지적한 결함 과 rect의 위치가 2 바이트를 더 절약했습니다.

업데이트 2 : Peter의 또 다른 수정 사항 및 제안 사항 통합 (-6 바이트)

업데이트 3 : 지시 사항에 따라 모든 반지름이 13으로 지정되어 있으므로 이점을 활용하고 경로를 조금 더 최적화하여 25 바이트를 더 절약했습니다. 더 읽기 쉬운 바이올린.

업데이트 4 : SVG가 HTML에 포함되어 있다고 가정하고 있기 때문에 (독립형 SVG에는 네임 스페이스 선언이 필요함) 실제로 더 많이 짜낼 수 있습니다. (a) SVG의 크기가 크기가 불확실한 객체 (300x150)의 객체에 제공하는 기본 크기보다 작기 때문에 너비 및 높이 속성이 필요하지 않으며 (b) HTML 파서가 그렇지 않은 속성에 대해 용서합니다. 따옴표가 없으므로 일부를 제거 할 수 있습니다 ( Squeamish Ossifrage의 아이디어 ). 다른 45 바이트를 저장합니다.

업데이트 5 : 색상의 인용을 해제하고 후행 종료 태그를 삭제하기 위해 hsl 의 트릭을 사용 합니다. 또 다른 19 바이트를 저장했습니다. 후자는 처음에는 약간 기분이 좋지만 모든 브라우저에서 작동하므로 마음이 바뀌 었습니다. :) 감사합니다 hsl!


몇 가지 좋은 아이디어가 있지만 한 가지 나쁜 결점이 있습니다. 중간 회색은 어두운 회색의 채우기를 덮을만큼 충분히 높지 않습니다. fill="none"그룹 에 추가 하거나 곡선을 조정하여 이것이 가장 잘 고정되는지 확실하지 않습니다 .
Peter Taylor

고마워요. 지금 수정했습니다. 스트로크 너비의 절반을 빼는 것을 잊었 기 때문에 올바른 호 반경을 사용하지 않았습니다.
Paul LeBeau

<rect>높이가 있어야 74보다는 78. 그리고 나는 그것으로 대체 할 수있는 5 문자 절약하게 <path>모두 fillstroke, stroke-width="18"후 내부 이동 <g>과 일반적인 stroke-width="18"받는 두 가지 경로에서 이동 <g>. <path>a <rect>가 아닌 다른 것을 갖는 것도 압축성을 조금 도와 주어야합니다.
피터 테일러

감사. 반지름 (8 대 9) 사이에 차이가있는 것 같습니다. 그래서 다른 점이 있습니다. 그러나 절대적으로 명확하지는 않으므로 어쨌든 9로 둘 다 갖는 것이 거의 눈에 띄지 않습니다.
Paul LeBeau

Radii는 13으로 표시되므로 SVG를 업데이트했습니다.
Paul LeBeau

20

Mathematica 787612600514506 바이트

놀라운 양의 코드가 필요합니다. 반드시 맞을 것입니다.

풀리지 않은 형태

red=RGBColor[1.,.11,.13]
yellow=RGBColor[1.,.79,.34]
lightGrey=RGBColor[.35,.35,.36]
midGrey=RGBColor[.25,.25,.25]
r=RoundingRadius->8;
pentagonalVertices[offset_]:=Table[{Cos[2π k/5+ offset],Sin[2π k/5+offset]},{k,0,5}];
x=63;x2=72;
y=37;
pts={{e=22,50},{h=72,30},{h,-17},{-h,-15},{-h,30},{-e,50}};
pts2={{-h,-15},{-h,30},{-e,50}}
Graphics[{
{Black,Thickness[.13],JoinForm["Round"],CapForm["Round"], Line[pts]},
midGrey,Rectangle[{-x2,-y},{x2,y},r],
Disk[{0,-55},104,{Pi/3,2Pi/3}],
White,Rectangle[{-40,-60},{40,0},r],
lightGrey,Rectangle[{-x,-y},{x,y},r],
red,Disk[{0,0},25],yellow,Disk[{0,0},19.5],red,
GraphicsComplex[16.7 pentagonalVertices[Pi/2],Polygon[{1,3,5,2,4}]],
GraphicsComplex[6.4 pentagonalVertices[3 Pi/2],Polygon[{1,2,3,4,5}]]}]

모자

골프

g=GraphicsComplex;c=RGBColor;d=c[1.,.11,.13];o="Round";k=Rectangle;j=Disk;n=Polygon;r=RoundingRadius->8;w@s_:=Table[{Cos[2\[Pi]k/5+s],Sin[2\[Pi]k/5+s]},{k,0,5}];x=63;i=72;y=37;p={{e=22,50},{h=72,30},{h,-17},{-h,-15},{-h,30},{-e,50}};Graphics[{Thickness[.13],JoinForm@o,CapForm@o,Line@p,c[.25,.25,.25],k[{-i,-y},{i,y},r],j[{0,-55},104,{\[Pi]/3,2\[Pi]/3}],White,k[{-40,-60},{40,0},r],c[.35,.35,.36],k[{-x,-y},{x,y},r],d,j[{0,0},25],c[1.,.79,.34],j[{0,0},19.5],d,g[16.7w[\[Pi]/2],n[{1,3,5,2,4}]],g[6.4w[3\[Pi]/2],n[{1,2,3,4,5}]]}]

바이트 수를 어떻게 물어볼 수 있습니까? 이 사이트에서 골프 버전을 계산할 때 651 바이트를 얻습니다. mothereff.in/byte-counter
Jean-Paul

1
나는 Wolfram이 사용하는 자동 카운터 앱을 사용하여 one-liner 콘테스트 ( blog.wolfram.com/2014/11/10/… ) 의 제출 기간을 평가합니다 . 가독성을 위해 포함 된 선택적 공간은 포함하지 않습니다. 실제로 바이트가 아닌 문자의 숫자를 읽지 만 char = 1 바이트라고 가정합니다.
DavidC

맞는 말이다! 너무 안타깝습니다. 제 제출에 대해 똑같이 할 수 없습니다 :) 답변 주셔서 감사합니다.
Jean-Paul

그런 식으로 볼 수 있다고 생각합니다. 그러나 한 줄에 읽기 어려운 디스플레이가 남습니다. 나는 그것을 읽기 쉬운 상태로 유지하는 것을 선호합니다.
DavidC

18

HTML + ES6, 533

<canvas id=D width=600 height=400><script>c=D.getContext('2d')
S=x=>c.strokeStyle=F(x)
F=x=>c.fillStyle=x
W=x=>c.lineWidth=x
B=x=>c.stroke()||c.fill()||c.beginPath()
G='s.charCodeAt(i++)*9-300,'
L=s=>B()||eval('for(i in s)i%2||c.lineTo('+G+G+'0)')&&B()
c.lineCap=c.lineJoin='round'
W(60)
S('#1F1A1A')
L(';,+3+BXBX3H,')
S('#404040')
L('.3.EUEU3.3')
c.arc(291,390,270,4,5.2,0)
B()
S('#58585C')
L('131ERER313')
S(R='#FF1C22')
F('#FFCA57')
W(30)
c.arc(291,240,69,0,7,0)
B()
c.font='105px serif'
S(R)
c.fillText('\u2605',239,276)</script>

스 니펫 (수정) :

<canvas style="margin:-40px 0 0 100px;height:250px;" id=D width=600 height=400><script>stages=[function(){c=D.getContext('2d');S=function(x){return c.strokeStyle=F(x)};F=function(x){return c.fillStyle=x};W=function(x){return c.lineWidth=x};B=function(x){return c.stroke()||c.fill()||c.beginPath()};G='s.charCodeAt(i++)*9-300,';L=function(s){return B()||eval('for(i in s)i%2||c.lineTo('+G+G+'0)')&&B()}},function(){c.lineCap=c.lineJoin='round';W(60);S('#1F1A1A');L(';,+3+BXBX3H,')},function(){S('#404040');L('.3.EUEU3.3')},function(){c.arc(291,390,270,4,5.2,0);B()},function(){S('#58585C');L('131ERER313')},function(){S(R='#FF1C22');F('#FFCA57');W(30);c.arc(291,240,69,0,7,0);B()},function(){c.font='105px serif';S(R);c.fillText('\u2605',239,276)}];next=function(i){stages[i]();if(i<6)setTimeout(next,1000,i+1)};next(0)</script>

모자!


@Optimizer FF와 Chrome에서 이미지가 잘 보이기 때문에 이미지를 추가했습니다. 글꼴은 Windows 등에서 달라야합니다.
grc

@grc 모든 시스템에서 특정 글꼴을 쉽게 사용할 수 있다고 생각하지는 않습니다. 특히 serif특정 글꼴이 아닌 을 사용 하는 경우에는 그렇지 않습니다.
Alexander

Arial Unicode MS (실제로 코드 포인트가있는 Windows Arial 글꼴)에서 해당 코드 포인트의 모양은 맞지 않습니다. 포인트는 더 좁습니다.
피터 테일러

13

HTML + CSS, 676636625 바이트

이것들을 제거 left:XXXpx하고 일종의 센터링을 사용하여 골프를 많이 할 수 있습니다. 이제 변환 대신 모든 것을 센터링left:XXXpx 합니다.

*{left:50%;transform:translate(-50%);position:absolute;border-radius:13px;height:75px}a,b,f{width:145px;background:#404040}b{width:126px;background:#58585C}c{width:163px;height:61px;top:50px}d,e{width:68px;height:40px;top:-15px}c,d,e{background:#1F1A1A}d{left:0;transform:skew(0deg,-26deg);border-radius:9px 24px}e{left:96px;transform:skew(0deg,26deg);border-radius:24px 9px}f{height:40px;width:99px;top:-13px;border-radius:150px/60px}g{height:34px;width:34px;background:#FFCA57;border:5px solid #FF1C22;border-radius:40px;top:13px;color:#FF1C22;font-size:1cm;line-height:31px;padding:3px}
<c><d></d><e></e><f></f><a><b><g>

참고 : 이것은 Windows의 Firefox에서 가장 잘 작동합니다.

최종 결과는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오


나는 골프 HTML 태그를 본 적이 없다. 흥미 롭군
Arturo Torres Sánchez

1
@ ArturoTorresSánchez 그럼 당신은 필요
최적화

별은 이제 조금 FF 34.0 / 윈도우의 왼쪽 상단으로 이동 보인다
n̴̖̋h̷͉a̷̭̿h̸̡̅ẗ̵̨d̷̰ĥ̷̳

8

ActionScript 3.0, 491 바이트

골프 양식 :

var h=new Shape(),g=h.graphics,l=g.lineTo,m=g.moveTo,s=g.lineStyle,b=g.beginFill,e=g.endFill,r=g.drawRoundRect;s(23,0x231F20);m(77,18);l(41,36);l(41,73);m(125,18);l(161,36);l(161,73);s();b(0x424143);g.drawEllipse(48,16,106,55);e();b(0x424143);r(38,27,126,65,23,23);e();b(0x595A5C);r(46,27,110,65,17,17);e();s(4.2,0xEC2227);b(0xF9C960);g.drawCircle(101,59,20);e();s();b(0xEC2227);m(106,61);l(115,55);l(104,55);l(101,45);l(98,55);l(87,55);l(96,61);l(93,71);l(101,65);l(110,71);e();addChild(h);

출력 : http://megaswf.com/file/2708781.swf


1
또는 : var ww=new WarmWelcome(); stage.addChild(ww);및 AS3의 연계와 플래시에 그릴:)
wchargin

7

MATLAB R2013a, 551 (541)

이것이 나의 첫 번째 코드 골프입니다. 어떤 규칙에 따라되지 않은 경우, 그래서 가르쳐주세요 / 말해 :)

골프 양식 :

hold on
r=[1 .11 .13];h=[];b=2.4;q=-37;o='Curvature';p='Position'
x='FaceColor';z='EdgeColor';v=@rectangle;t=@repmat;s=@set
for i=1:19;h=[h v(p,[-82+b*i -32+i 22 73]) v(p,[60-b*i -32+i 22 73])];end
s(h,o,1,x,[.12 .1 .1])
c=.8:.01:2.2
h=[h fill(104*cos(c),104*sin(c)-52,t(.25,1,3))]
h=[h v(p,[-72 q 144 74],o,.1,x,t(.25,1,3))]
a=v(p,[-63 q 126 74])
a=[a v(p,[-63 q 126 74])]
s(a,o,.1,x,[t(.35,1,2) .36])
v(p,[-20 -20 40 40],o,1,x,[1 .79 .34],z,r,'LineWidth',10)
plot(0,0,'rp',['Marker' x],r,'MarkerSize',58.5)
s([a h],z,'none')
axis equal off

출력 (래스터 화 된) :

여기에 이미지 설명을 입력하십시오


6

LaTeX / TikZ (613 바이트)

\RequirePackage{xcolor,tikz}\RequirePackage[active,tightpage]{preview}\PreviewMacro[[!]\tikz\def~#1{\definecolor#1{HTML}}~1{EC2227}~2{F9C960}~3{595A5C}~4{231F20}~5{424143}\def\r{rounded
corners}\def\R{radius}\tikz[x=1pt,y=1pt]{\def~{\fill[}\draw[4,line
width=22.8,line
cap=round,line
join=round](-23.8,41.7)--(-59.9,23.5)--(-59.9,-13.3)--(59.9,-13.3)--(59.9,23.5)--(23.8,41.7);~5,x
\R=53,y
\R=27.4](0,16.4)circle;~5,\r=10.9](-63,-32.65)rectangle(63,32.65);~3,\r=9.5](-55.1,-32.65)rectangle(55.1,32.65);~1,\R=22](0,0)circle;~2,\R=17.8](0,0)circle;~1](90:14.1)\foreach\!in{0,...,4}{--(90+\!*144:14.1)}--cycle;}\stop

그 결과 pdflatex모자가 벡터 그래픽으로 포함 된 PDF 파일과 단단한 경계 상자가 생성됩니다.

결과

언 골프

\documentclass{minimal}
% Package xcolor provides color model HTML
% in order to take the exact same values, used in the SVG file 
\usepackage{xcolor}
\usepackage{tikz}

% Package preview is used to get a correct bounding
% box for the graphics
\usepackage[active,tightpage]{preview}
\PreviewEnvironment[{[]}]{tikzpicture}

% Color definitions. one digit instead of a name saves many bytes
\definecolor1{HTML}{EC2227}
\definecolor2{HTML}{F9C960}
\definecolor3{HTML}{595A5C}
\definecolor4{HTML}{231F20}
\definecolor5{HTML}{424143}

\begin{document}
  \begin{tikzpicture}[x=1pt,y=1pt]
    % Draws the dark lines in the background
    \draw[4,line width=22.8,line cap=round,line join=round]
    (-23.8,41.7)--(-59.9,23.5)--(-59.9,-13.3)
    --(59.9,-13.3)--(59.9,23.5)--(23.8,41.7);
    % Draws the ellipsis
    \fill[5,x radius=53,y radius=27.4](0,16.4)circle;
    % Draw the rear rectangle 
    \fill[5,rounded corners=10.9](-63,-32.65)rectangle(63,32.65);   
    % Draws the rectangle in the foreground
    \fill[3,rounded corners=9.5](-55.1,-32.65)rectangle(55.1,32.65);
    % Draws the red full circle
    \fill[1,radius=22](0,0)circle;  
    % Draws the inner yellow circle 
    \fill[2,radius=17.8](0,0)circle;
    % Draw the star
    \fill[1](90:14.1)\foreach\!in{0,...,4}{--(90+\!*144:14.1)}--cycle;
  \end{tikzpicture}%
\end{document}

값은 SVG 파일에서 가져 오며 더 정확했지만 반올림 오류도 포함합니다. 가장 까다로운 부분은 백그라운드에서 어두운 기울어 진 선이었습니다. 둥근 선 캡과 결합이있는 매우 두꺼운 선으로 그려집니다.

생기


What beauty :)
Jean-Paul

2

펄 + TK : 555

새로운 줄은 가독성을 높이기 위해 많은 변수를 잃어 버렸습니다.

use Tk;@w=(-width=>13);$c=tkinit->Canvas->pack;
$c->createPolygon($a=131,$b=163,168,150,$a,$b,$e=269,$b,232,150,$e,$b,$e,$d=225,$a,$d,-outline=>"#1f1a1a",@w);
$c->createPolygon(137,$f=169,263,$f,263,$g=231,137,$g,-outline=>$h="#".40x3,@w);
$c->createOval($a,147,$e,$g,-fill=>$h,-outline=>$h);
$c->createPolygon(143,$f,257,$f,257,$g,143,$g,-fill=>$l="#58585c",-outline=>$l,@w);
$c->createOval(175,175,$d,$d,-width=>5,-fill=>"#ffca57",-outline=>$r="#ff1c22");
$c->createPolygon((map{200+($_%2?17:6)*sin.628*$_,200+($_%2?17:6)*cos.628*$_}0..11),-fill=>$r);
MainLoop

사진은 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

나는 그것이 픽셀 완벽에 가깝다고 생각하지 않지만 충분히 가깝습니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.