灯泡、报警灯改用自绘 SVG,删除教材配套资料中的图片

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-22 10:36:52 +08:00
1 parent 26104ae81e
commit 942c319bab
9 files changed
+111 -3

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="150" viewBox="0 0 150 150">
<defs>
<linearGradient id="dome" x1="0" x2="1">
<stop offset="0" stop-color="#8e3b3b"/>
<stop offset="0.4" stop-color="#c46a6a"/>
<stop offset="1" stop-color="#6e2a2a"/>
</linearGradient>
<linearGradient id="base" x1="0" x2="0" y1="0" y2="1">
<stop offset="0" stop-color="#4b4f56"/>
<stop offset="1" stop-color="#2c2f34"/>
</linearGradient>
</defs>
<!-- 灯罩 -->
<path d="M40 112V70a35 35 0 0 1 70 0v42z" fill="url(#dome)" stroke="#5a2222" stroke-width="2"/>
<path d="M52 74a23 23 0 0 1 16-22" fill="none" stroke="#e8b4b4" stroke-width="5" stroke-linecap="round" opacity="0.6"/>
<rect x="60" y="72" width="30" height="34" rx="4" fill="#7a3030" opacity="0.6"/>
<!-- 底座 -->
<rect x="30" y="112" width="90" height="16" rx="4" fill="url(#base)"/>
<rect x="24" y="128" width="102" height="10" rx="3" fill="#222428"/>
</svg>

After

Width:  |  Height:  |  Size: 977 B

+29
View File
@@ -0,0 +1,29 @@
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="150" viewBox="0 0 150 150">
<defs>
<radialGradient id="glow" cx="50%" cy="48%" r="50%">
<stop offset="0" stop-color="#ff5252" stop-opacity="0.85"/>
<stop offset="1" stop-color="#ff1744" stop-opacity="0"/>
</radialGradient>
<linearGradient id="dome" x1="0" x2="1">
<stop offset="0" stop-color="#ff1744"/>
<stop offset="0.4" stop-color="#ff8a80"/>
<stop offset="1" stop-color="#d50000"/>
</linearGradient>
<linearGradient id="base" x1="0" x2="0" y1="0" y2="1">
<stop offset="0" stop-color="#4b4f56"/>
<stop offset="1" stop-color="#2c2f34"/>
</linearGradient>
</defs>
<!-- 光晕和光线 -->
<circle cx="75" cy="72" r="70" fill="url(#glow)"/>
<g stroke="#ff5252" stroke-width="5" stroke-linecap="round">
<path d="M75 6v14M24 26l10 10M126 26l-10 10M8 72h14M128 72h14"/>
</g>
<!-- 灯罩 -->
<path d="M40 112V70a35 35 0 0 1 70 0v42z" fill="url(#dome)" stroke="#b71c1c" stroke-width="2"/>
<path d="M52 74a23 23 0 0 1 16-22" fill="none" stroke="#fff" stroke-width="5" stroke-linecap="round" opacity="0.85"/>
<rect x="60" y="72" width="30" height="34" rx="4" fill="#fff59d" opacity="0.85"/>
<!-- 底座 -->
<rect x="30" y="112" width="90" height="16" rx="4" fill="url(#base)"/>
<rect x="24" y="128" width="102" height="10" rx="3" fill="#222428"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+26
View File
@@ -0,0 +1,26 @@
<svg xmlns="http://www.w3.org/2000/svg" width="105" height="180" viewBox="0 0 105 180">
<defs>
<radialGradient id="glass" cx="40%" cy="35%" r="65%">
<stop offset="0" stop-color="#ffffff"/>
<stop offset="0.55" stop-color="#e3e7ec"/>
<stop offset="1" stop-color="#a9b1bc"/>
</radialGradient>
<linearGradient id="base" x1="0" x2="1">
<stop offset="0" stop-color="#5b5f66"/>
<stop offset="0.45" stop-color="#c9ccd1"/>
<stop offset="1" stop-color="#4a4e55"/>
</linearGradient>
</defs>
<!-- 玻璃泡 -->
<path d="M52.5 10C27 10 12 29 12 52c0 17 9 27 17 38 5 7 7 13 7 21h33c0-8 2-14 7-21 8-11 17-21 17-38 0-23-15-42-40.5-42z"
fill="url(#glass)" stroke="#8d96a3" stroke-width="2"/>
<!-- 灯丝 -->
<path d="M43 111V82l-6-14m25 43V82l6-14M37 68c5-6 8 6 13 0s8 6 13 0 8 6 5 0" fill="none" stroke="#6b7480" stroke-width="2"/>
<ellipse cx="38" cy="38" rx="9" ry="14" fill="#fff" opacity="0.7"/>
<!-- 灯头 -->
<rect x="35" y="111" width="35" height="10" rx="3" fill="url(#base)"/>
<rect x="36" y="122" width="33" height="9" rx="3" fill="url(#base)"/>
<rect x="37" y="132" width="31" height="9" rx="3" fill="url(#base)"/>
<rect x="38" y="142" width="29" height="9" rx="3" fill="url(#base)"/>
<path d="M42 152h21l-5 12h-11z" fill="#33363b"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+33
View File
@@ -0,0 +1,33 @@
<svg xmlns="http://www.w3.org/2000/svg" width="105" height="180" viewBox="0 0 105 180">
<defs>
<radialGradient id="glow" cx="50%" cy="32%" r="55%">
<stop offset="0" stop-color="#fff59d" stop-opacity="0.9"/>
<stop offset="1" stop-color="#ffd54f" stop-opacity="0"/>
</radialGradient>
<radialGradient id="glass" cx="45%" cy="40%" r="65%">
<stop offset="0" stop-color="#fffde7"/>
<stop offset="0.35" stop-color="#ffee58"/>
<stop offset="0.8" stop-color="#ffb300"/>
<stop offset="1" stop-color="#e65100"/>
</radialGradient>
<linearGradient id="base" x1="0" x2="1">
<stop offset="0" stop-color="#5b5f66"/>
<stop offset="0.45" stop-color="#c9ccd1"/>
<stop offset="1" stop-color="#4a4e55"/>
</linearGradient>
</defs>
<!-- 光晕 -->
<circle cx="52.5" cy="55" r="52" fill="url(#glow)"/>
<!-- 玻璃泡 -->
<path d="M52.5 10C27 10 12 29 12 52c0 17 9 27 17 38 5 7 7 13 7 21h33c0-8 2-14 7-21 8-11 17-21 17-38 0-23-15-42-40.5-42z"
fill="url(#glass)" stroke="#f9a825" stroke-width="2"/>
<!-- 灯丝(发光) -->
<path d="M43 111V82l-6-14m25 43V82l6-14M37 68c5-6 8 6 13 0s8 6 13 0 8 6 5 0" fill="none" stroke="#fffde7" stroke-width="2.5"/>
<ellipse cx="38" cy="38" rx="9" ry="14" fill="#fff" opacity="0.8"/>
<!-- 灯头 -->
<rect x="35" y="111" width="35" height="10" rx="3" fill="url(#base)"/>
<rect x="36" y="122" width="33" height="9" rx="3" fill="url(#base)"/>
<rect x="37" y="132" width="31" height="9" rx="3" fill="url(#base)"/>
<rect x="38" y="142" width="29" height="9" rx="3" fill="url(#base)"/>
<path d="M42 152h21l-5 12h-11z" fill="#33363b"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

+3 -3
View File
@@ -120,12 +120,12 @@ function selectItem(index: number) {
<span class="wf-check-text">{{ displayText(p.Text) }}</span>
</div>
<!-- 教材控件库:灯泡、报警灯(图片沿用教材控件库) -->
<!-- 教材控件库:灯泡、报警灯(自绘图片,尺寸与教材控件一致) -->
<div v-else-if="node.type === 'WinFormsDeviceControlLibrary.Lamp'" class="wf-control wf-device-image" :style="style">
<img :src="p.IsOn ? '/devices/LampOn.png' : '/devices/LampOff.png'" alt="" draggable="false" />
<img :src="p.IsOn ? '/devices/lamp-on.svg' : '/devices/lamp-off.svg'" alt="" draggable="false" />
</div>
<div v-else-if="node.type === 'WinFormsDeviceControlLibrary.Alarm'" class="wf-control wf-device-image" :style="style">
<img :src="p.IsOn ? '/devices/AlarmOn.jpg' : '/devices/AlarmOff.jpg'" alt="" draggable="false" />
<img :src="p.IsOn ? '/devices/alarm-on.svg' : '/devices/alarm-off.svg'" alt="" draggable="false" />
</div>
<!-- GroupBox -->