YStudio Y++

摄像头类

Y++ / YStudio 开发文档 · 一点滴

扩展类。路径:支持库 → 扩展支持库 → 摄像头类。声明写 摄像头类 cam

基于 Windows Media Foundation

用途 API
实时预览 开始预览(图片框) — BGRA 直推,约 15FPS(可调)
抓拍/存盘 取一帧() — JPEG 字节集

相关:图片框

实时预览(推荐)

摄像头类 cam

函数 主窗口.创建完毕 () {
    如果 (cam.打开(0) == 假) {
        输出(cam.取错误())
        返回
    }
    cam.开始预览(图片框1)       // 默认约 66ms/帧
    // cam.开始预览(图片框1, 33) // 约 30FPS
}

函数 主窗口.将要销毁 () {
    cam.停止预览()
    cam.关闭()
}

内部用定时器取帧,经 YsUi BGRA → D2DCopyFromMemory 复用位图),只刷新图片框区域,不做每帧 JPEG。

单次抓拍

字节集 jpg = cam.取一帧()
图片框1.图片 = jpg          // 走 WIC 解码,仅适合偶尔刷新

方法一览

方法 说明
枚举摄像头() / 枚举设备() 文本数组
打开([索引=0], [宽=0], [高=0]) 按索引打开
按名称打开(名称, [宽], [高]) 按友好名
关闭 / 是否打开 生命周期
开始预览(图片框, [间隔毫秒=66]) 实时预览到图片框
停止预览 / 是否预览中 停止推送(设备仍打开)
取一帧() JPEG 字节集
取宽度 / 取高度 / 取设备名 / 取错误 诊断

代码补全

名称 简拼
摄像头类 sxtl
开始预览 ksyl
停止预览 tzyl
取一帧 qyz

注意

  • 预览依赖主窗口已创建(定时器挂在主窗)。
  • 未使用本类时不链 ypl_lib_camera.lib;使用预览时会自动带上 ui / timer 模块。
  • 签名以 IDE 支持库 → 摄像头类 为准。