200 lines
8.1 KiB
XML
200 lines
8.1 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 600" width="800" height="600" role="img" aria-label="A lively pelican riding a bicycle along the seaside">
|
|
<defs>
|
|
<!-- Sky -->
|
|
<linearGradient id="sky" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#fdeecb"/>
|
|
<stop offset="0.45" stop-color="#bfe5f5"/>
|
|
<stop offset="1" stop-color="#7fc6e8"/>
|
|
</linearGradient>
|
|
<!-- Sea -->
|
|
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#2e9bd0"/>
|
|
<stop offset="0.5" stop-color="#1f7fb8"/>
|
|
<stop offset="1" stop-color="#13567f"/>
|
|
</linearGradient>
|
|
<linearGradient id="sand" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#f3dca6"/>
|
|
<stop offset="1" stop-color="#e2c282"/>
|
|
</linearGradient>
|
|
<radialGradient id="sun" cx="0.5" cy="0.5" r="0.5">
|
|
<stop offset="0" stop-color="#fff7df"/>
|
|
<stop offset="0.6" stop-color="#ffe7a0"/>
|
|
<stop offset="1" stop-color="#ffe7a0" stop-opacity="0"/>
|
|
</radialGradient>
|
|
<linearGradient id="body" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#ffffff"/>
|
|
<stop offset="1" stop-color="#dbe3ea"/>
|
|
</linearGradient>
|
|
<linearGradient id="bill" x1="0" y1="0" x2="1" y2="0">
|
|
<stop offset="0" stop-color="#ffd14d"/>
|
|
<stop offset="1" stop-color="#f7a93b"/>
|
|
</linearGradient>
|
|
<linearGradient id="pouch" x1="0" y1="0" x2="0" y2="1">
|
|
<stop offset="0" stop-color="#ffd97a"/>
|
|
<stop offset="1" stop-color="#f08a3c"/>
|
|
</linearGradient>
|
|
<linearGradient id="frame" x1="0" y1="0" x2="1" y2="1">
|
|
<stop offset="0" stop-color="#ff5a5f"/>
|
|
<stop offset="1" stop-color="#c8313a"/>
|
|
</linearGradient>
|
|
<filter id="soft" x="-20%" y="-20%" width="140%" height="140%">
|
|
<feGaussianBlur stdDeviation="3"/>
|
|
</filter>
|
|
</defs>
|
|
|
|
<!-- Background -->
|
|
<rect width="800" height="600" fill="url(#sky)"/>
|
|
<circle cx="640" cy="130" r="120" fill="url(#sun)"/>
|
|
<circle cx="640" cy="130" r="46" fill="#fff2c4"/>
|
|
|
|
<!-- Distant clouds -->
|
|
<g fill="#ffffff" opacity="0.85">
|
|
<ellipse cx="180" cy="110" rx="70" ry="22"/>
|
|
<ellipse cx="230" cy="95" rx="48" ry="18"/>
|
|
<ellipse cx="470" cy="80" rx="58" ry="18"/>
|
|
</g>
|
|
|
|
<!-- Sea -->
|
|
<rect y="330" width="800" height="120" fill="url(#sea)"/>
|
|
<!-- gentle waves -->
|
|
<g stroke="#bfeaff" stroke-width="3" fill="none" opacity="0.7" stroke-linecap="round">
|
|
<path d="M40 360 q20 -10 40 0 t40 0 t40 0"/>
|
|
<path d="M300 380 q22 -10 44 0 t44 0 t44 0"/>
|
|
<path d="M560 365 q20 -10 40 0 t40 0 t40 0"/>
|
|
</g>
|
|
<!-- shimmer near sun -->
|
|
<g fill="#cdeaff" opacity="0.6">
|
|
<ellipse cx="620" cy="400" rx="60" ry="6"/>
|
|
<ellipse cx="640" cy="420" rx="40" ry="4"/>
|
|
</g>
|
|
|
|
<!-- Beach / sand -->
|
|
<path d="M0 430 Q400 400 800 440 L800 600 L0 600 Z" fill="url(#sand)"/>
|
|
<!-- a few seashells / pebbles -->
|
|
<g opacity="0.5" fill="#caa86a">
|
|
<circle cx="120" cy="540" r="6"/>
|
|
<circle cx="700" cy="560" r="7"/>
|
|
<circle cx="500" cy="575" r="5"/>
|
|
</g>
|
|
<!-- distant sailboat -->
|
|
<g transform="translate(140 300)">
|
|
<path d="M0 30 L30 30 L24 44 L6 44 Z" fill="#ffffff"/>
|
|
<path d="M15 30 L15 0 L32 28 Z" fill="#ffffff"/>
|
|
<path d="M15 30 L15 6 L2 28 Z" fill="#f2f2f2"/>
|
|
</g>
|
|
|
|
<!-- contact shadow -->
|
|
<ellipse cx="400" cy="512" rx="190" ry="20" fill="#000000" opacity="0.18" filter="url(#soft)"/>
|
|
|
|
<!-- ====================== BICYCLE ====================== -->
|
|
<g stroke-linecap="round">
|
|
<!-- wheels -->
|
|
<g>
|
|
<circle cx="260" cy="470" r="78" fill="none" stroke="#222" stroke-width="9"/>
|
|
<circle cx="260" cy="470" r="68" fill="none" stroke="#444" stroke-width="2"/>
|
|
<circle cx="540" cy="470" r="78" fill="none" stroke="#222" stroke-width="9"/>
|
|
<circle cx="540" cy="470" r="68" fill="none" stroke="#444" stroke-width="2"/>
|
|
<!-- spokes -->
|
|
<g stroke="#c9ccd1" stroke-width="2.5">
|
|
<g transform="translate(260 470)">
|
|
<line x1="0" y1="-66" x2="0" y2="66"/>
|
|
<line x1="-66" y1="0" x2="66" y2="0"/>
|
|
<line x1="-47" y1="-47" x2="47" y2="47"/>
|
|
<line x1="-47" y1="47" x2="47" y2="-47"/>
|
|
</g>
|
|
<g transform="translate(540 470)">
|
|
<line x1="0" y1="-66" x2="0" y2="66"/>
|
|
<line x1="-66" y1="0" x2="66" y2="0"/>
|
|
<line x1="-47" y1="-47" x2="47" y2="47"/>
|
|
<line x1="-47" y1="47" x2="47" y2="-47"/>
|
|
</g>
|
|
</g>
|
|
<circle cx="260" cy="470" r="7" fill="#555"/>
|
|
<circle cx="540" cy="470" r="7" fill="#555"/>
|
|
</g>
|
|
|
|
<!-- frame -->
|
|
<g stroke="url(#frame)" stroke-width="11" fill="none">
|
|
<line x1="260" y1="470" x2="430" y2="470"/> <!-- chain stay -->
|
|
<line x1="430" y1="470" x2="540" y2="470"/> <!-- rear lower -->
|
|
<line x1="430" y1="470" x2="370" y2="360"/> <!-- seat tube -->
|
|
<line x1="370" y1="360" x2="260" y2="470"/> <!-- down-ish to rear hub -->
|
|
<line x1="370" y1="360" x2="470" y2="350"/> <!-- top tube -->
|
|
<line x1="470" y1="350" x2="540" y2="470"/> <!-- fork -->
|
|
</g>
|
|
<!-- handlebar stem -->
|
|
<line x1="470" y1="350" x2="500" y2="318" stroke="#333" stroke-width="9"/>
|
|
<path d="M500 318 q26 -6 30 14" stroke="#333" stroke-width="9" fill="none"/>
|
|
<!-- seat -->
|
|
<path d="M345 356 q25 -8 50 2 q-8 12 -25 12 q-18 0 -25 -14 Z" fill="#333"/>
|
|
<!-- pedals + crank -->
|
|
<circle cx="430" cy="470" r="13" fill="#666"/>
|
|
<line x1="430" y1="470" x2="408" y2="500" stroke="#333" stroke-width="7"/>
|
|
<rect x="392" y="498" width="26" height="9" rx="3" fill="#222"/>
|
|
<line x1="430" y1="470" x2="452" y2="440" stroke="#333" stroke-width="7"/>
|
|
<rect x="442" y="432" width="26" height="9" rx="3" fill="#222"/>
|
|
</g>
|
|
|
|
<!-- ====================== PELICAN ====================== -->
|
|
<g>
|
|
<!-- tail -->
|
|
<path d="M300 360 q-55 -8 -78 22 q40 6 70 -2 Z" fill="#cdd6df"/>
|
|
|
|
<!-- body -->
|
|
<path d="M300 360
|
|
q-30 -85 50 -110
|
|
q70 -22 110 30
|
|
q26 38 -2 78
|
|
q-30 40 -88 38
|
|
q-58 -2 -70 -36 Z" fill="url(#body)"/>
|
|
|
|
<!-- wing -->
|
|
<path d="M330 320 q60 -16 110 8 q-6 44 -52 56 q-44 8 -66 -18 q-6 -30 8 -46 Z"
|
|
fill="#c2ccd6"/>
|
|
<path d="M348 330 q40 -8 78 8" fill="none" stroke="#aab6c2" stroke-width="3"/>
|
|
<path d="M344 350 q40 -6 74 10" fill="none" stroke="#aab6c2" stroke-width="3"/>
|
|
|
|
<!-- leg to pedal -->
|
|
<line x1="360" y1="430" x2="408" y2="498" stroke="#f2a93b" stroke-width="9" stroke-linecap="round"/>
|
|
<line x1="430" y1="408" x2="452" y2="438" stroke="#f6b94f" stroke-width="9" stroke-linecap="round"/>
|
|
<path d="M404 498 l18 4 l-2 8 l-20 -4 Z" fill="#e8932f"/>
|
|
|
|
<!-- neck + head -->
|
|
<path d="M392 268 q8 -52 60 -64 q40 -8 60 14 q-6 26 -40 30 q-30 4 -40 30 Z"
|
|
fill="url(#body)"/>
|
|
<!-- head -->
|
|
<circle cx="512" cy="236" r="40" fill="url(#body)"/>
|
|
<!-- little crest -->
|
|
<path d="M498 202 q14 -16 30 -6 q-8 10 -22 14 Z" fill="#e7edf2"/>
|
|
|
|
<!-- eye -->
|
|
<circle cx="528" cy="228" r="8.5" fill="#1d2a33"/>
|
|
<circle cx="531" cy="225" r="3" fill="#ffffff"/>
|
|
<path d="M512 214 q18 -8 32 2" fill="none" stroke="#9fb0bd" stroke-width="2"/>
|
|
|
|
<!-- upper bill -->
|
|
<path d="M544 230 q70 -6 116 16 q-6 12 -22 12 q-50 -10 -96 -8 Z" fill="url(#bill)"/>
|
|
<!-- pouch (lower bill) -->
|
|
<path d="M544 244 q60 24 112 24 q14 -18 6 -34 q-46 12 -96 -6 q-14 6 -22 16 Z"
|
|
fill="url(#pouch)"/>
|
|
<path d="M556 258 q40 14 84 12" fill="none" stroke="#d9772c" stroke-width="2.5"/>
|
|
<!-- bill tip hook -->
|
|
<path d="M658 244 q10 2 8 12 q-8 0 -12 -6 Z" fill="#e0892f"/>
|
|
|
|
<!-- wing in front feather hint -->
|
|
<path d="M300 360 q-8 -20 8 -34" fill="none" stroke="#b7c2cd" stroke-width="3"/>
|
|
</g>
|
|
|
|
<!-- a swooping gull in the distance -->
|
|
<g stroke="#ffffff" stroke-width="3" fill="none" opacity="0.9">
|
|
<path d="M120 160 q14 -12 28 0 q14 -12 28 0"/>
|
|
</g>
|
|
|
|
<!-- motion lines for liveliness -->
|
|
<g stroke="#ffffff" stroke-width="3" opacity="0.6" stroke-linecap="round">
|
|
<line x1="150" y1="430" x2="195" y2="430"/>
|
|
<line x1="135" y1="455" x2="185" y2="455"/>
|
|
<line x1="150" y1="480" x2="195" y2="480"/>
|
|
</g>
|
|
</svg>
|