Files
Quic/ui/public/photoview-logo.svg

60 lines
3.6 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width="200" height="200">
<defs>
<!-- Ink bleed and brush texture -->
<filter id="xuan" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.04" numOctaves="6" seed="2" result="noise"/>
<feDisplacementMap in="SourceGraphic" in2="noise" scale="3.5" xChannelSelector="R" yChannelSelector="G" result="rough"/>
<feGaussianBlur in="rough" stdDeviation="0.3" result="blur"/>
<feComponentTransfer in="blur">
<feFuncA type="linear" slope="1.2"/>
</feComponentTransfer>
</filter>
<!-- Paper texture -->
<filter id="paper" x="0%" y="0%" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" result="n"/>
<feColorMatrix type="saturate" values="0" in="n" result="g"/>
<feBlend in="SourceGraphic" in2="g" mode="multiply"/>
</filter>
</defs>
<!-- Rice paper background -->
<rect x="4" y="4" width="192" height="192" rx="44" ry="44" fill="#000"/>
<!-- F — 行书风格,一笔写成 -->
<g filter="url(#xuan)">
<!-- Main stroke group: heavy vertical downstroke -->
<path d="M 60 22 C 56 60, 57 100, 56 178" fill="none" stroke="#f8f8f8" stroke-width="13" stroke-linecap="round"/>
<!-- Lighter overlay for brush texture -->
<path d="M 60 22 C 56 60, 57 100, 56 178" fill="none" stroke="#fff" stroke-width="8" stroke-linecap="round" opacity="0.7"/>
<!-- Top bar — 横画,起笔重收笔轻 -->
<path d="M 56 28 C 72 24, 100 24, 118 30" fill="none" stroke="#f8f8f8" stroke-width="12" stroke-linecap="round"/>
<path d="M 56 28 C 72 24, 100 24, 118 30" fill="none" stroke="#fff" stroke-width="7" stroke-linecap="round" opacity="0.6"/>
<!-- Mid bar — 短横 -->
<path d="M 57 94 C 70 90, 90 90, 100 96" fill="none" stroke="#f8f8f8" stroke-width="10" stroke-linecap="round"/>
<path d="M 57 94 C 70 90, 90 90, 100 96" fill="none" stroke="#fff" stroke-width="5" stroke-linecap="round" opacity="0.5"/>
<!-- 飞白 干笔效果 — dry brush streaks at top -->
<path d="M 60 22 C 58 30, 61 38, 59 44" fill="none" stroke="#fff" stroke-width="2" opacity="0.3"/>
<path d="M 64 26 C 62 34, 65 40, 63 46" fill="none" stroke="#fff" stroke-width="1.5" opacity="0.2"/>
</g>
<!-- K — 行书风格 -->
<g filter="url(#xuan)">
<!-- Vertical downstroke -->
<path d="M 120 22 C 117 60, 118 100, 117 178" fill="none" stroke="#f8f8f8" stroke-width="13" stroke-linecap="round"/>
<path d="M 120 22 C 117 60, 118 100, 117 178" fill="none" stroke="#fff" stroke-width="8" stroke-linecap="round" opacity="0.7"/>
<!-- Upper diagonal — 从右上撇向左下,起笔重收笔轻 -->
<path d="M 170 24 C 160 32, 140 56, 118 96" fill="none" stroke="#f8f8f8" stroke-width="11" stroke-linecap="round"/>
<path d="M 170 24 C 160 32, 140 56, 118 96" fill="none" stroke="#fff" stroke-width="6" stroke-linecap="round" opacity="0.6"/>
<!-- Lower diagonal — 从左上捺向右下 -->
<path d="M 117 100 C 130 120, 148 144, 168 176" fill="none" stroke="#f8f8f8" stroke-width="11" stroke-linecap="round"/>
<path d="M 117 100 C 130 120, 148 144, 168 176" fill="none" stroke="#fff" stroke-width="6" stroke-linecap="round" opacity="0.6"/>
<!-- 飞白 -->
<path d="M 168 28 C 158 38, 142 58, 122 90" fill="none" stroke="#fff" stroke-width="2" opacity="0.25"/>
<path d="M 120 104 C 132 120, 146 140, 162 168" fill="none" stroke="#fff" stroke-width="2" opacity="0.25"/>
</g>
<!-- Paper grain overlay -->
<rect x="4" y="4" width="192" height="192" rx="44" ry="44" fill="none" filter="url(#paper)" opacity="0.05"/>
</svg>