feat: v0.1.0更新

This commit is contained in:
2026-01-14 18:07:26 +08:00
commit efd8a7cc20
55 changed files with 6200 additions and 0 deletions

BIN
resources/app_icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

1
resources/app_icon.rc Normal file
View File

@@ -0,0 +1 @@
IDI_ICON1 ICON "app_icon.ico"

View File

@@ -0,0 +1,16 @@
#!/usr/bin/env python3
"""将PNG图标转换为ICO格式"""
from PIL import Image
import os
def png_to_ico(png_path, ico_path):
"""将PNG转换为ICO"""
img = Image.open(png_path)
# ICO文件支持多种尺寸Windows会根据需要选择合适的尺寸
img.save(ico_path, format='ICO', sizes=[(16, 16), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)])
print(f"Created: {ico_path}")
if __name__ == "__main__":
png_to_ico("icons/app_icon.png", "app_icon.ico")
print("\nICO file generated successfully!")

View File

@@ -0,0 +1,85 @@
#!/usr/bin/env python3
"""生成D330Viewer所需的图标"""
from PIL import Image, ImageDraw
import os
def create_icon(size, bg_color, fg_color, shape, filename):
"""创建一个简单的图标"""
img = Image.new('RGBA', (size, size), (0, 0, 0, 0))
draw = ImageDraw.Draw(img)
margin = size // 8
if shape == 'play':
# 播放三角形
points = [(margin, margin), (margin, size - margin), (size - margin, size // 2)]
draw.polygon(points, fill=fg_color)
elif shape == 'stop':
# 停止方块
draw.rectangle([margin, margin, size - margin, size - margin], fill=fg_color)
elif shape == 'camera':
# 相机图标
draw.ellipse([margin, margin, size - margin, size - margin], outline=fg_color, width=3)
draw.ellipse([size//3, size//3, 2*size//3, 2*size//3], fill=fg_color)
elif shape == 'save':
# 保存图标
draw.rectangle([margin, margin, size - margin, size - margin], outline=fg_color, width=3)
draw.rectangle([margin*2, margin, size - margin*2, margin*3], fill=fg_color)
elif shape == 'folder':
# 文件夹图标
draw.rectangle([margin, size//3, size - margin, size - margin], outline=fg_color, width=3)
draw.rectangle([margin, size//3, size//2, size//3 + margin], fill=fg_color)
elif shape == 'refresh':
# 刷新图标
draw.arc([margin, margin, size - margin, size - margin], 45, 315, fill=fg_color, width=3)
draw.polygon([(size - margin, margin*2), (size - margin, margin*3), (size - margin*2, margin*2.5)], fill=fg_color)
elif shape == 'connect':
# 连接图标
draw.ellipse([margin, margin, size//2, size//2], fill=fg_color)
draw.ellipse([size//2, size//2, size - margin, size - margin], fill=fg_color)
draw.line([size//4, size//4, 3*size//4, 3*size//4], fill=fg_color, width=3)
elif shape == 'clear':
# 清除图标
draw.line([margin, margin, size - margin, size - margin], fill=fg_color, width=3)
draw.line([size - margin, margin, margin, size - margin], fill=fg_color, width=3)
elif shape == 'app':
# 应用图标
draw.rectangle([margin, margin*2, size - margin, size - margin], fill=bg_color, outline=fg_color, width=3)
draw.ellipse([size//4, size//3, 3*size//4, 2*size//3], fill=fg_color)
draw.rectangle([size//3, margin, 2*size//3, margin*2], fill=fg_color)
img.save(filename)
print(f"Created: {filename}")
if __name__ == "__main__":
icons_dir = "icons"
os.makedirs(icons_dir, exist_ok=True)
# 颜色方案 - 使用白色/浅色图标,确保在任何背景上都可见
white_color = (255, 255, 255, 255) # 白色
light_gray = (220, 220, 220, 255) # 浅灰色
transparent = (0, 0, 0, 0) # 透明背景
# 为应用图标使用深色背景
app_bg_color = (33, 150, 243, 255) # 蓝色背景
# 生成图标 - 所有按钮图标使用白色,透明背景
create_icon(64, transparent, white_color, 'play', f'{icons_dir}/start.png')
create_icon(64, transparent, white_color, 'stop', f'{icons_dir}/stop.png')
create_icon(64, transparent, white_color, 'camera', f'{icons_dir}/camera.png')
create_icon(64, transparent, white_color, 'save', f'{icons_dir}/save.png')
create_icon(64, transparent, white_color, 'folder', f'{icons_dir}/folder.png')
create_icon(64, transparent, white_color, 'refresh', f'{icons_dir}/refresh.png')
create_icon(64, transparent, white_color, 'connect', f'{icons_dir}/connect.png')
create_icon(64, transparent, white_color, 'clear', f'{icons_dir}/clear.png')
create_icon(128, app_bg_color, white_color, 'app', f'{icons_dir}/app_icon.png')
print("\nAll icons generated successfully!")

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

BIN
resources/icons/camera.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

BIN
resources/icons/clear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

BIN
resources/icons/connect.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

BIN
resources/icons/folder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

BIN
resources/icons/refresh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 B

BIN
resources/icons/save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

BIN
resources/icons/start.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

BIN
resources/icons/stop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

13
resources/resources.qrc Normal file
View File

@@ -0,0 +1,13 @@
<RCC>
<qresource prefix="/icons">
<file>icons/app_icon.png</file>
<file>icons/start.png</file>
<file>icons/stop.png</file>
<file>icons/camera.png</file>
<file>icons/save.png</file>
<file>icons/folder.png</file>
<file>icons/refresh.png</file>
<file>icons/connect.png</file>
<file>icons/clear.png</file>
</qresource>
</RCC>