style(logo): 去掉 V 字,改为光圈+播放三角标
光圈内放播放三角(呼应图像+视频),快门点改黄色墨边小圆, 整体更几何、更贴合 Memphis 风格。 Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
// Vivid mark: an open spectrum ring (lens/aperture) around a folded "V", with a
|
// Vivid mark: an open spectrum ring (lens/aperture) around a play triangle,
|
||||||
// shutter dot closing the gap — image + video in one glyph. Transparent
|
// with a shutter dot closing the gap — image + video in one glyph.
|
||||||
// background so it reads on both the dark and light shells. Colors follow the
|
// Transparent background so it reads on both the dark and light shells.
|
||||||
// memphis crayon palette (orange / pink / blue).
|
// Colors follow the memphis crayon palette (orange / pink / blue).
|
||||||
// Each instance gets unique gradient ids (useId) so multiple logos on one
|
// Each instance gets unique gradient ids (useId) so multiple logos on one
|
||||||
// page don't share/clobber defs.
|
// page don't share/clobber defs.
|
||||||
import { useId } from 'vue'
|
import { useId } from 'vue'
|
||||||
@@ -11,7 +11,6 @@ defineProps({ size: { type: [Number, String], default: 40 } })
|
|||||||
|
|
||||||
const uid = useId()
|
const uid = useId()
|
||||||
const gRing = `vring-${uid}`
|
const gRing = `vring-${uid}`
|
||||||
const gV = `vv-${uid}`
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -23,20 +22,17 @@ const gV = `vv-${uid}`
|
|||||||
<stop offset="0.5" stop-color="#f472b6" />
|
<stop offset="0.5" stop-color="#f472b6" />
|
||||||
<stop offset="1" stop-color="#38bdf8" />
|
<stop offset="1" stop-color="#38bdf8" />
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient :id="gV" x1="14" y1="14" x2="34" y2="34" gradientUnits="userSpaceOnUse">
|
|
||||||
<stop stop-color="#f97316" />
|
|
||||||
<stop offset="1" stop-color="#ec5b13" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
<g transform="translate(24 24)">
|
<g transform="translate(24 24)">
|
||||||
<!-- open ring: dash gap leaves room for the shutter dot -->
|
<!-- open ring: dash gap leaves room for the shutter dot -->
|
||||||
<circle r="18.5" fill="none" :stroke="`url(#${gRing})`" stroke-width="3.2"
|
<circle r="17.5" fill="none" :stroke="`url(#${gRing})`" stroke-width="4.4"
|
||||||
stroke-linecap="round" stroke-dasharray="86 30" transform="rotate(-58)" />
|
stroke-linecap="round" stroke-dasharray="84 32" transform="rotate(-58)" />
|
||||||
<!-- folded V -->
|
<!-- play triangle = image + video -->
|
||||||
<path d="M-8 -7.5 L0 9 L8 -7.5" fill="none" :stroke="`url(#${gV})`" stroke-width="4.8"
|
<path d="M-3 -6.5 L8.5 0 L-3 6.5 Z" fill="#ec5b13" stroke="#111" stroke-width="1.4"
|
||||||
stroke-linecap="round" stroke-linejoin="round" />
|
stroke-linejoin="round" />
|
||||||
<circle cx="13" cy="-13" r="3.4" fill="#ec5b13" />
|
<!-- shutter dot -->
|
||||||
|
<circle cx="13" cy="-13" r="4.2" fill="#fef08a" stroke="#111" stroke-width="1.6" />
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user