扩展类。路径:支持库 → 扩展支持库 → 摄像头类。声明写 摄像头类 cam。
基于 Windows Media Foundation。
| 用途 | API |
|---|---|
| 实时预览 | 开始预览(图片框) — BGRA 直推,约 15FPS(可调) |
| 抓拍/存盘 | 取一帧() — JPEG 字节集 |
相关:图片框。
实时预览(推荐)
摄像头类 cam
函数 主窗口.创建完毕 () {
如果 (cam.打开(0) == 假) {
输出(cam.取错误())
返回
}
cam.开始预览(图片框1) // 默认约 66ms/帧
// cam.开始预览(图片框1, 33) // 约 30FPS
}
函数 主窗口.将要销毁 () {
cam.停止预览()
cam.关闭()
}
内部用定时器取帧,经 YsUi BGRA → D2D(CopyFromMemory 复用位图),只刷新图片框区域,不做每帧 JPEG。
单次抓拍
字节集 jpg = cam.取一帧()
图片框1.图片 = jpg // 走 WIC 解码,仅适合偶尔刷新
方法一览
| 方法 | 说明 |
|---|---|
枚举摄像头() / 枚举设备() |
文本数组 |
打开([索引=0], [宽=0], [高=0]) |
按索引打开 |
按名称打开(名称, [宽], [高]) |
按友好名 |
关闭 / 是否打开 |
生命周期 |
开始预览(图片框, [间隔毫秒=66]) |
实时预览到图片框 |
停止预览 / 是否预览中 |
停止推送(设备仍打开) |
取一帧() |
JPEG 字节集 |
取宽度 / 取高度 / 取设备名 / 取错误 |
诊断 |
代码补全
| 名称 | 简拼 |
|---|---|
摄像头类 |
sxtl |
开始预览 |
ksyl |
停止预览 |
tzyl |
取一帧 |
qyz |
注意
- 预览依赖主窗口已创建(定时器挂在主窗)。
- 未使用本类时不链
ypl_lib_camera.lib;使用预览时会自动带上ui/timer模块。 - 签名以 IDE 支持库 → 摄像头类 为准。