采集卡bug修复

This commit is contained in:
Ray
2025-10-29 17:05:38 +08:00
parent b0ff800826
commit 735eb79e0d
3 changed files with 169 additions and 8 deletions

161
PREVIEW_CONFIG_GUIDE.md Normal file
View File

@@ -0,0 +1,161 @@
# 预览配置说明
## 📖 预览配置参数说明
预览配置位于配置界面的**"预览配置"**区域,用于控制采集卡预览窗口的显示方式。
### 配置参数
#### 1. **预览宽度** (`preview_width`)
- **说明**:预览窗口的宽度(像素)
- **默认值**1000
- **建议值**
- 单个采集卡800-1200
- 2个采集卡1000-1600
- 4个采集卡1200-2000
- **用途**:控制预览窗口的整体宽度
#### 2. **预览高度** (`preview_height`)
- **说明**:预览窗口的高度(像素)
- **默认值**700
- **建议值**
- 单个采集卡600-900
- 2个采集卡700-1000
- 4个采集卡800-1200
- **用途**:控制预览窗口的整体高度
#### 3. **预览列数** (`preview_columns`)
- **说明**:预览窗口中每行显示的采集卡数量
- **默认值**2
- **范围**1-4推荐
- **用途**:决定采集卡预览的网格布局列数
- **示例**
- 2列适合2-4个采集卡
- 1列适合单个采集卡全屏显示
- 3列适合3个或6个采集卡
#### 4. **预览行数** (`preview_rows`)
- **说明**:预览窗口中每列显示的采集卡数量
- **默认值**2
- **范围**1-4推荐
- **用途**:决定采集卡预览的网格布局行数
- **示例**
- 2行配合2列可以显示4个采集卡
- 1行适合1-3个采集卡水平排列
- 3行适合3个或更多采集卡
### 📐 配置示例
#### 示例1单个采集卡全屏显示
```
预览宽度1200
预览高度900
预览列数1
预览行数1
```
**效果**:单个采集卡占据整个预览窗口
#### 示例22个采集卡并排显示
```
预览宽度1600
预览高度800
预览列数2
预览行数1
```
**效果**:两个采集卡水平并排显示
#### 示例34个采集卡网格显示2x2
```
预览宽度1600
预览高度1200
预览列数2
预览行数2
```
**效果**四个采集卡以2x2网格方式显示
#### 示例46个采集卡网格显示3x2
```
预览宽度1800
预览高度1200
预览列数3
预览行数2
```
**效果**六个采集卡以3x2网格方式显示
### 🎯 配置技巧
1. **根据采集卡数量调整**
- 采集卡数量 = 列数 × 行数
- 例如3个采集卡可以用 3列×1行 或 2列×2行最后一个位置为空
2. **根据屏幕尺寸调整**
- 确保预览窗口能够完整显示在你的屏幕上
- 如果屏幕较小,可以减小预览宽度和高度
3. **性能考虑**
- 预览窗口越大CPU占用可能越高
- 推荐在1000-1600像素宽度范围内
4. **视觉体验**
- 保持预览窗口的宽高比接近采集卡的宽高比
- 例如采集卡是1920×1080预览窗口可以是1600×900
### 🔧 如何配置
1. **打开配置界面**
```bash
python gui_config.py
```
2. **找到预览配置区域**
- 在配置界面右侧找到"预览配置"区域
3. **修改参数**
- 在对应的输入框中输入你想要的数值
- 点击"保存配置"按钮
4. **测试预览**
- 点击"启动预览"按钮查看效果
- 如果效果不理想,可以返回继续调整
### ⚠️ 注意事项
1. **字段名必须正确**
- 配置使用 `preview_width`、`preview_height`、`preview_columns`、`preview_rows`
- 不要使用旧版本的 `preview_window_width` 和 `preview_window_height`
2. **数值类型**
- 所有数值必须是整数
- 宽度和高度建议在 500-3000 像素之间
- 列数和行数建议在 1-4 之间
3. **配置文件位置**
- 配置文件保存在 `config.json` 文件中的 `display` 部分
- 修改后会立即生效(需要重启预览窗口)
### 📝 配置文件示例
```json
{
"groups": [...],
"display": {
"preview_width": 1000,
"preview_height": 700,
"preview_columns": 2,
"preview_rows": 2,
"show_preview": true
}
}
```
### 🚀 快速开始
1. 默认配置2x2网格1000x700窗口适合大多数场景
2. 如果有多个采集卡先尝试2列×2行的布局
3. 如果只有一个采集卡设置为1列×1行增大窗口尺寸
4. 根据实际效果微调,直到满意为止
---
**提示**预览窗口可以点击任意采集卡画面来放大查看。放大后的窗口会在新窗口中显示大小固定为1280×720。

View File

@@ -19,8 +19,8 @@ class ConfigManager:
}
],
"display": {
"preview_window_width": 640,
"preview_window_height": 360,
"preview_width": 1000,
"preview_height": 700,
"preview_columns": 2,
"preview_rows": 2,
"show_preview": True

View File

@@ -161,17 +161,17 @@ class PreviewWindow:
def create_grid_window(self):
"""创建网格窗口"""
root = tk.Tk()
root.title("采集卡预览 - 点击放大")
root.geometry("1000x700")
# 获取显示配置
display = self.config.get('display', {})
preview_width = display.get('preview_width', 640)
preview_height = display.get('preview_height', 360)
preview_width = display.get('preview_width', 1000)
preview_height = display.get('preview_height', 700)
columns = display.get('preview_columns', 2)
rows = display.get('preview_rows', 2)
root = tk.Tk()
root.title("采集卡预览 - 点击放大")
root.geometry(f"{preview_width}x{preview_height}")
canvas = Canvas(root, bg='black')
canvas.pack(fill=tk.BOTH, expand=True)