# 刷新预览图功能说明 ## 功能概述 在项目卡片的右键菜单中新增了刷新预览图功能(🔄 刷新预览图),用户可以通过菜单选项重新生成项目的预览图。 ## 功能特性 ### 1. 智能图片搜索 - 自动搜索项目目录中的图片文件 - 支持常见图片格式:PNG, JPG, JPEG, GIF, BMP, TIFF, WEBP - 搜索常见的图片目录: - 项目根目录 - images/ - img/ - assets/ - static/ - resources/ - media/ - screenshots/ - preview/ ### 2. 智能图片选择 - 优先选择特定名称的图片: - preview(预览图) - screenshot(截图) - main(主图) - cover(封面) - thumbnail(缩略图) - icon(图标) - 如果没有找到优先图片,则选择第一个找到的图片 ### 3. 预览图处理 - 自动缩放到400x300像素 - 保持图片比例,使用裁剪确保尺寸一致 - 使用高质量缩放算法 - 生成PNG格式的预览图 ### 4. 默认预览图 - 当项目中没有图片时,自动生成包含项目信息的默认预览图 - 显示项目名称、类型和创建时间 - 统一的视觉风格 ### 5. 用户体验优化 - 菜单按钮在处理时显示加载状态(⏳) - 成功后显示确认状态(✅)3秒 - 详细的错误提示信息 - 自动清理旧的预览图文件 ## 使用方法 1. 点击项目卡片右上角的菜单按钮(⋯) 2. 在弹出菜单中选择"🔄 刷新预览图" 3. 等待处理完成(菜单按钮工具提示会显示⏳状态) 4. 成功后菜单按钮工具提示会短暂显示✅状态 5. 预览图会自动更新显示 ## 技术实现 ### 文件存储 - 预览图存储在:`MetaCore/Resources/ProjectPreviews/` - 文件命名规则:`preview_{项目ID}_{时间戳}.png` - 自动创建目录结构 ### 性能优化 - 自动清理项目的旧预览图,只保留最新的一个 - 使用高效的文件搜索算法 - 异步处理,不阻塞界面 ### 错误处理 - 路径不存在检查 - 图片格式验证 - 权限问题处理 - 详细的错误信息提示 ## 样式设计 刷新功能集成在右键菜单中: - 菜单项显示:🔄 刷新预览图 - 加载状态:菜单按钮工具提示显示⏳状态 - 成功状态:菜单按钮工具提示显示✅状态 - 与现有菜单风格保持一致 ## 测试 可以使用项目根目录下的 `test_refresh_preview.py` 文件来测试这个功能: ```bash python test_refresh_preview.py ``` ## 注意事项 1. 确保项目目录存在且可访问 2. 项目目录中需要包含图片文件才能生成真实的预览图 3. 生成的预览图会保存到应用程序目录,请确保有写入权限 4. 旧的预览图会被自动清理,避免占用过多磁盘空间 ## 后续扩展 1. 支持更多图片格式 2. 允许用户手动选择预览图 3. 支持从项目代码生成预览图(如网页截图) 4. 添加预览图编辑功能