Snap
该示例程序演示了如何截图并保存jpeg
文件
通过该示例,还可以了解到如何使用LinkOblect
的invoke
接口,详情访问【基本接口详解】
代码中的Sleep用于等待底层驱动完成首次通信,否则截图到的内容可能为“NoSignal”。
准备工作
•参照用户手册搭建开发环境、编译3531D
工程、配置网络启动参数。
•将带有HDMI音视频输出功能的设备(如摄像机、笔记本、机顶盒等)接入评估板的HDMI-A接口
•上电,进入/root/demo
目录
•运行Snap
程序
•打开生成的test.jpg
可以看到输入源图像
运行结果
源程序
//main.cpp
#include <QCoreApplication>
#include "Link.h"
#include "unistd.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Link::init();
LinkObject *vi=Link::create("InputVi");
QVariantMap dataVi;
dataVi["interface"]="HDMI-A";
vi->start(dataVi);
LinkObject *encv=Link::create("EncodeV");
QVariantMap dataEncV;
dataEncV["codec"]="jpeg";
dataEncV["snap"]=true;
dataEncV["width"]=1280;
dataEncV["height"]=720;
encv->start(dataEncV);
vi->linkV(encv);
sleep(2);
encv->invoke("snapSync","test.jpg");
return a.exec();
}