分享VisioForge Video Capture摄像头ocx控件的aardio调用
By
admin
at 2022-02-12 • 1人收藏 • 1446人看过
这个摄像头采集控件功能很多, 是目前我用过最满意的.
我这里只是简单测试了摄像头显示和简单操作 .
虽然这个控件是收费的,如果只是使用摄像头相关功能,貌似可以直接免费使用.
, 官方说试用版会有个蒙版, 但我并没有发现.
此ocx控件可以在aardio中免注册调用, 那么软件就可以不用申请管理员权限了
import com.lite;
var dll = com.lite.appData("com/popdes/Video.ocx",$"\res\Video.ocx")
var axEmbed = dll.createEmbedEx(mainForm,"{087F6178-D0F7-49A8-9047-15AF0BA48187}");当然,我测试的功能少, 不排除其他功能可能会有试用蒙版.
我们可以直接去官方下载原版直接用.
https://www.visioforge.com/video-capture-sdk
下面我测试了:
1. 打开指定设备
2. 拉伸填充整个画面
3. 上下左右镜像功能
4. 消息回调

var video = winform.picturebox.createEmbedEx("VisioForge_Video_Capture.VFVideoCaptureX",,{
OnMouseLeftUp = function(){
video._object.OnMouseLeftUp();
};
OnMouseLeftDoubleClick = function(){
video._object.OnMouseLeftDoubleClick();
}
OnMouseRightUp = function(){
video._object.OnMouseRightUp();
}
});
var count = video.Video_CaptureDevices_GetCount();
for(i=0;count-1;1){
console.log( video.Video_CaptureDevices_GetItem(i) )
}
console.log( count )
console.log( video.Video_CaptureDevices_GetItem(0) )
video.Video_CaptureDevice = video.Video_CaptureDevices_GetItem(0);//端口
video.Screen_Stretch = true;//拉伸
video.Screen_Flip_Horizontal = true;//水平镜像
video.Screen_Flip_Vertical = true;//垂直镜像
video.Screen_Update();//使能更新
video.Video_CaptureFormat_UseBest = false;//不使用自动视频格式配置
video.Video_CaptureDevice_Formats_Fill();//支持的视频格式初始化
video.Video_CaptureFormat = video.Video_CaptureDevice_Formats_GetItem(0);//选中格式1
video.Video_CaptureDevice_FrameRates_Fill();//支持的帧率初始化
//video.Video_FrameRate = video.Video_CaptureDevice_FrameRates_GetItem(0);//选中帧率1
video.Mode = 1;//预览模式
video.Start();//开启
video.OnMouseLeftUp = function(){
console.log("OnMouseLeftUp")
}
video.OnMouseRightUp = function(){
console.log("OnMouseRightUp")
}
VisioForgeVideoCaptureSDK (ActiveX).zip
官方在线文档: https://help.visioforge.com/video_capture_sdk/idx.html
1 个回复 | 最后更新于 2022-10-14
登录后方可回帖
我们知道在aardio中直接调用上面的ocx , 并不会触发ocx的版权机制, 这个ocx是开发授权, 用这个ocx开发软件的时候需要授权许可, 而aardio中使用类似于是用户, 用户是不需要授权的, 所以aardio中可以免费使用无限制,
如果我们需要在VS2022中用C#来开发, 应该怎么办.
如果只是调用 VisioForge_Video_Capture.ocx 文件, 那么在vs中是不能够加入到工具箱中的, 那么也就没办法拖拽来使用 , 我们这时候就需要手动添加代码来使用了.
方法就是类似这个ocx文章里提到的,
https://www.chengxu.xyz/t/250#Post23088
这里不在长篇大论了, 加载代码如下:
private void Form1_Load(object sender, EventArgs e) { var axVisioVideo1 = new AxVisioForge_Video_Capture.AxVFVideoCaptureX(); axVisioVideo1.Dock = DockStyle.Fill; this.pictureBox1.Controls.Add(axVisioVideo1); Console.WriteLine(axVisioVideo1.Video_CaptureDevices_GetCount()); for (int i = 0; i < axVisioVideo1.Video_CaptureDevices_GetCount(); i++) { Console.WriteLine(axVisioVideo1.Video_CaptureDevices_GetItem(i)); } axVisioVideo1.Video_CaptureDevice = axVisioVideo1.Video_CaptureDevices_GetItem(0); axVisioVideo1.Screen_Stretch = true;//拉伸 axVisioVideo1.Screen_Flip_Horizontal = true;//水平镜像 axVisioVideo1.Screen_Flip_Vertical = true;//垂直镜像 axVisioVideo1.Screen_Update();//使能更新 axVisioVideo1.Video_CaptureFormat_UseBest = true;//不使用自动视频格式配置 axVisioVideo1.Mode = TxVFMode.Mode_Video_Preview;//预览模式 axVisioVideo1.Start(); }工程如下:
看到了吗 , 也是没有版权蒙版提示的.
用这种方式其实可以绕过一些软件的开发授权的.