下载 bullseye 图标
SVG 矢量源文件,或 PNG 按 16~512 预设与 16~1024 自定义尺寸导出,任意尺寸边缘锐利。
PNG 由矢量源实时渲染,任意尺寸边缘锐利无锯齿;下载与预览均免费,无需注册。
bullseye 的预览与使用场景
切换预览颜色后,下方三底色、真实界面场景与各尺寸渲染会实时跟随。
在真实界面里长这样
各尺寸下的可读性
复制 bullseye 图标代码
内联 SVG、React、Vue 与 CSS mask 四种主流引用方式,代码基于当前源文件生成,复制即用。
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 72 72"><circle cx="39.488" cy="39.455" r="29.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="23.85" fill="#fff"/><circle cx="39.488" cy="39.455" r="15.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="10.9" fill="#fff"/><circle cx="39.488" cy="39.455" r="5.9" fill="#ea5a47"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"><path d="M11.466 11.499H2.513m8.953 0V2.546m4.041 13.001H6.554m8.955-.002V6.593m23.977 32.871L7.478 7.519m14.491 8.828a29.04 29.04 0 0 1 17.52-5.892c16.016 0 29 12.984 29 29s-12.984 29-29 29s-29-12.984-29-29a28.87 28.87 0 0 1 5.828-17.44"/><path d="M26.257 20.64a22.9 22.9 0 0 1 13.231-4.185c12.703 0 23 10.298 23 23s-10.297 23-23 23s-23-10.297-23-23a22.9 22.9 0 0 1 4.097-13.105"/><path d="M32.04 26.432a14.93 14.93 0 0 1 7.448-1.977c8.285 0 15 6.716 15 15s-6.716 15-15 15s-15-6.716-15-15c0-2.616.73-5.127 1.908-7.268"/><path d="M40.078 34.474a5 5 0 1 1-5.556 5.781"/><path d="M35.778 30.166a10 10 0 0 1 3.71-.71c5.523 0 10 4.476 10 10s-4.477 10-10 10s-10-4.478-10-10a9.9 9.9 0 0 1 .686-3.59"/></g></svg>export function BullseyeIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 72 72"
fill="currentColor"
{...props}
dangerouslySetInnerHTML={{ __html: `<circle cx="39.488" cy="39.455" r="29.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="23.85" fill="#fff"/><circle cx="39.488" cy="39.455" r="15.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="10.9" fill="#fff"/><circle cx="39.488" cy="39.455" r="5.9" fill="#ea5a47"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"><path d="M11.466 11.499H2.513m8.953 0V2.546m4.041 13.001H6.554m8.955-.002V6.593m23.977 32.871L7.478 7.519m14.491 8.828a29.04 29.04 0 0 1 17.52-5.892c16.016 0 29 12.984 29 29s-12.984 29-29 29s-29-12.984-29-29a28.87 28.87 0 0 1 5.828-17.44"/><path d="M26.257 20.64a22.9 22.9 0 0 1 13.231-4.185c12.703 0 23 10.298 23 23s-10.297 23-23 23s-23-10.297-23-23a22.9 22.9 0 0 1 4.097-13.105"/><path d="M32.04 26.432a14.93 14.93 0 0 1 7.448-1.977c8.285 0 15 6.716 15 15s-6.716 15-15 15s-15-6.716-15-15c0-2.616.73-5.127 1.908-7.268"/><path d="M40.078 34.474a5 5 0 1 1-5.556 5.781"/><path d="M35.778 30.166a10 10 0 0 1 3.71-.71c5.523 0 10 4.476 10 10s-4.477 10-10 10s-10-4.478-10-10a9.9 9.9 0 0 1 .686-3.59"/></g>` }}
/>
);
}<template>
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 72 72" fill="currentColor" v-html="body"></svg>
</template>
<script setup>
const body = `<circle cx="39.488" cy="39.455" r="29.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="23.85" fill="#fff"/><circle cx="39.488" cy="39.455" r="15.85" fill="#ea5a47"/><circle cx="39.488" cy="39.455" r="10.9" fill="#fff"/><circle cx="39.488" cy="39.455" r="5.9" fill="#ea5a47"/><g fill="none" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"><path d="M11.466 11.499H2.513m8.953 0V2.546m4.041 13.001H6.554m8.955-.002V6.593m23.977 32.871L7.478 7.519m14.491 8.828a29.04 29.04 0 0 1 17.52-5.892c16.016 0 29 12.984 29 29s-12.984 29-29 29s-29-12.984-29-29a28.87 28.87 0 0 1 5.828-17.44"/><path d="M26.257 20.64a22.9 22.9 0 0 1 13.231-4.185c12.703 0 23 10.298 23 23s-10.297 23-23 23s-23-10.297-23-23a22.9 22.9 0 0 1 4.097-13.105"/><path d="M32.04 26.432a14.93 14.93 0 0 1 7.448-1.977c8.285 0 15 6.716 15 15s-6.716 15-15 15s-15-6.716-15-15c0-2.616.73-5.127 1.908-7.268"/><path d="M40.078 34.474a5 5 0 1 1-5.556 5.781"/><path d="M35.778 30.166a10 10 0 0 1 3.71-.71c5.523 0 10 4.476 10 10s-4.477 10-10 10s-10-4.478-10-10a9.9 9.9 0 0 1 .686-3.59"/></g>`;
</script>.bullseye {
width: 1em;
height: 1em;
background-color: currentColor;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2072%2072%22%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2229.85%22%20fill%3D%22%23ea5a47%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2223.85%22%20fill%3D%22%23fff%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2215.85%22%20fill%3D%22%23ea5a47%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2210.9%22%20fill%3D%22%23fff%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%225.9%22%20fill%3D%22%23ea5a47%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M11.466%2011.499H2.513m8.953%200V2.546m4.041%2013.001H6.554m8.955-.002V6.593m23.977%2032.871L7.478%207.519m14.491%208.828a29.04%2029.04%200%200%201%2017.52-5.892c16.016%200%2029%2012.984%2029%2029s-12.984%2029-29%2029s-29-12.984-29-29a28.87%2028.87%200%200%201%205.828-17.44%22%2F%3E%3Cpath%20d%3D%22M26.257%2020.64a22.9%2022.9%200%200%201%2013.231-4.185c12.703%200%2023%2010.298%2023%2023s-10.297%2023-23%2023s-23-10.297-23-23a22.9%2022.9%200%200%201%204.097-13.105%22%2F%3E%3Cpath%20d%3D%22M32.04%2026.432a14.93%2014.93%200%200%201%207.448-1.977c8.285%200%2015%206.716%2015%2015s-6.716%2015-15%2015s-15-6.716-15-15c0-2.616.73-5.127%201.908-7.268%22%2F%3E%3Cpath%20d%3D%22M40.078%2034.474a5%205%200%201%201-5.556%205.781%22%2F%3E%3Cpath%20d%3D%22M35.778%2030.166a10%2010%200%200%201%203.71-.71c5.523%200%2010%204.476%2010%2010s-4.477%2010-10%2010s-10-4.478-10-10a9.9%209.9%200%200%201%20.686-3.59%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2072%2072%22%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2229.85%22%20fill%3D%22%23ea5a47%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2223.85%22%20fill%3D%22%23fff%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2215.85%22%20fill%3D%22%23ea5a47%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%2210.9%22%20fill%3D%22%23fff%22%2F%3E%3Ccircle%20cx%3D%2239.488%22%20cy%3D%2239.455%22%20r%3D%225.9%22%20fill%3D%22%23ea5a47%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22M11.466%2011.499H2.513m8.953%200V2.546m4.041%2013.001H6.554m8.955-.002V6.593m23.977%2032.871L7.478%207.519m14.491%208.828a29.04%2029.04%200%200%201%2017.52-5.892c16.016%200%2029%2012.984%2029%2029s-12.984%2029-29%2029s-29-12.984-29-29a28.87%2028.87%200%200%201%205.828-17.44%22%2F%3E%3Cpath%20d%3D%22M26.257%2020.64a22.9%2022.9%200%200%201%2013.231-4.185c12.703%200%2023%2010.298%2023%2023s-10.297%2023-23%2023s-23-10.297-23-23a22.9%2022.9%200%200%201%204.097-13.105%22%2F%3E%3Cpath%20d%3D%22M32.04%2026.432a14.93%2014.93%200%200%201%207.448-1.977c8.285%200%2015%206.716%2015%2015s-6.716%2015-15%2015s-15-6.716-15-15c0-2.616.73-5.127%201.908-7.268%22%2F%3E%3Cpath%20d%3D%22M40.078%2034.474a5%205%200%201%201-5.556%205.781%22%2F%3E%3Cpath%20d%3D%22M35.778%2030.166a10%2010%200%200%201%203.71-.71c5.523%200%2010%204.476%2010%2010s-4.477%2010-10%2010s-10-4.478-10-10a9.9%209.9%200%200%201%20.686-3.59%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
}给 bullseye 加一点动效
单文件 CSS 即可播放,无需任何依赖;描画动效仅对描边类图标生效。
呼吸
透明度往复渐变,适合状态提示与在线指示。
.icon-bullseye {
animation: icon-breathe 1.8s ease-in-out infinite;
}
@keyframes icon-breathe {
0%, 100% { opacity: 1; }
50% { opacity: 0.35; }
}旋转
匀速循环旋转,适合加载中场景。
.icon-bullseye {
animation: icon-spin 1.6s linear infinite;
}
@keyframes icon-spin {
to { transform: rotate(360deg); }
}描画
线条从无到有依次绘出,适合线性图标与首屏引导。
.icon-bullseye path {
stroke-dasharray: 120;
animation: icon-draw 1.2s ease forwards;
}
@keyframes icon-draw {
from { stroke-dashoffset: 120; }
to { stroke-dashoffset: 0; }
}SVG 健康报告
对源文件的客观技术指标,供工程侧评估引用方式。
文件体积
1.16 KB
1,187 字节
viewBox
0 0 72 72
矢量坐标系
图元总数
10
<path> ×5
风格
多色填充
描边可随字号加粗
同时含 width/height 与 viewBox:可以只保留 viewBox,让图标跟随容器自适应缩放。 文件体积 1.16 KB(1,187 字节),图元 10 个,风格为多色填充。
常见问题
关于 bullseye 图标的下载、商用与改色。
bullseye 图标是什么?▾
它是 OpenMoji(openmoji)开源图标集中的 bullseye 图标,多色填充,viewBox 为 0 0 72 72,文件仅 1.16 KB,矢量格式可无损缩放到任意尺寸。
如何下载 bullseye 图标?▾
点击「下载与导出」中的 SVG 源文件按钮保存矢量文件;也可以按 512 / 256 / 128 / 64 / 32 / 16px 预设导出 PNG,或在输入框填 16~1024 之间的任意尺寸。需要 iOS、Android 全套尺寸时,用素材包生成器一键打包。
bullseye 图标可以商用吗?▾
该图标采用 CC BY-SA 4.0(CC-BY-SA-4.0) 开源协议,通常允许在遵守协议的前提下免费使用,常见要求是保留作者版权声明。商用前建议阅读协议原文确认。
如何修改 bullseye 图标的颜色?▾
在「预览与场景」的色板中切换颜色,三底色与全部场景会实时跟随;点击任一相近图标可打开预览弹层,复制对应颜色的 SVG 源码或 PNG。也可以复制 SVG 源码后自行修改 fill 值。