c# 天敏4路视频采集卡二次开发

Demon_LHY 2014-12-03 11:32:55
开1路的时候 截图 看着没问题 4路同开 截图太小
视频预览放在panel 里面 panel 大小380*280
怎么控制截出来图的尺寸
...全文
339 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
异常者Doorn 2015-07-04
  • 打赏
  • 举报
回复
引用 9 楼 cw580231 的回复:
或者联系厂家咨询下SDKAPI.CaptureFileAsBmp()该怎么用。
没用的,他们死都不说 老是说联系不到相关人员
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
还有一般采集卡每一路都会有一个低码流的,这个码流的东西就会比较小,并且不太清晰。
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
一般来说采集卡的demo会提供截图的函数,并且截图是由采集卡截图,所以相关参数也是通过采集卡设置的,你可以先看看厂家提供的demo或者联系下他们。
lili20090907 2014-12-03
  • 打赏
  • 举报
回复
截图的大小 不是你的panel 大小决定的,而是截图,保存JPG 函数决定的,查找这两个函数
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
或者联系厂家咨询下SDKAPI.CaptureFileAsBmp()该怎么用。
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
第一次执行 SDKAPI.CaptureFileAsBmp(StrPicPath, pbuff, rgb24, 600, 400);是否报错? 存储图片的目录下是否已经有了StrPicPath同名的文件,或者保存单位图片正在被占用? 图片保存是否需要关闭,尝试添加后面的代码

              // SDKAPI.VCAPauseCapture(0);
                SnapOk = false;
                RecOk = 0;
                haha = "nwidth" + nWidth + "height:" + nHeight;
Demon_LHY 2014-12-03
  • 打赏
  • 举报
回复
 SDKAPI.CaptureFileAsBmp(StrPicPath, pbuff, rgb24, 600, 400);
在执行这个的时候 提示 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。 他原来这个sdk是c++ 的 不太懂
BOOL __declspec(dllimport) CaptureFileAsBmp(LPCTSTR		szFileName,
														BYTE		*pYUVBuffer,
														BYTE		*pRGBBuffer,
														long		nWidth,
														long		nHeight);
原型是这样 不晓得*pYUVBuffer,*pRGBBuffer该怎么替换
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
SDKAPI.VCASaveAsJpegFile()保存JPEG格式图片; SDKAPI.CaptureFileAsBmp()保存Bmp格式图片; 你把保存JPEG的的操作用保存Bmp操作替换掉。
糊泥巴 2014-12-03
  • 打赏
  • 举报
回复
 string StrPicPath;
                DateTime CurTime = DateTime.Now;
                StrPicPath = "d:\\" + CurTime.ToString("yyyyMMddHHmmss") + "Camera0" + ".bmp";
                IntPtr rgb24 = new IntPtr(600 * 400 * 3);
                SDKAPI.CaptureFileAsBmp(StrPicPath, pbuff, rgb24, 600, 400);
你就直接调用SDKAPI.CaptureFileAsBmp()函数进行截图试试。
Demon_LHY 2014-12-03
  • 打赏
  • 举报
回复
  DateTime CurTime = DateTime.Now;
                string imgpath = "d:\\" + CurTime.ToString("yyyyMMddHHmmss");
                SDKAPI.VCASaveAsJpegFile(0, imgpath + "dib1top.jpg", 100);
sdk 提供的函数 没有设置宽高的参数 他倒是还有一种回调的函数 截图设置 但是程序运行过程中 执行不到这个
            SDKAPI.PrcVidCapCallBack SnapCall = new SDKAPI.PrcVidCapCallBack(snapcallback);
            //Register the capture stream callback
            SDKAPI.VCARegVidCapCallBack(0, SnapCall);
snapcallback函数
 //snap callback 拍照的事件
        public static void snapcallback(int dwCard, IntPtr pbuff, int dwSize)
        {

            if (SnapOk == true)
            {
                string StrPicPath;
                DateTime CurTime = DateTime.Now;
                StrPicPath = "d:\\" + CurTime.ToString("yyyyMMddHHmmss") + "Camera0" + ".bmp";
                IntPtr rgb24 = new IntPtr(600 * 400 * 3);
                SDKAPI.CaptureFileAsBmp(StrPicPath, pbuff, rgb24, 600, 400);
                // SDKAPI.VCAPauseCapture(0);
                SnapOk = false;
                RecOk = 0;
                haha = "nwidth" + nWidth + "height:" + nHeight;
            }
        }

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧