C# 视频监控系列(9):服务器端——数据捕获(抓图 + 录像)
2009-04-08 08:23:40 来源:WEB开发网前言
录像功能是监控系统中最重要的功能之一,除了本文的功能实现外,还需要你自己考虑合适的存储策略:存储大小、时间段、存储盘符等。
正文
一、抓图
这个功能没有在VC++服务器端找到对应的代码,但是GOOGLE到了一段CSDN求助的代码:
int ret=GetJpegImage(aa,bb,cc,dd);
if(ret==0)
{
CString str;
str.Format("ch%02d_%s.jpg",iLastSelect,csStartTime);
FILE *pFile=fopen(str.GetBuffer(0),"wb");//Buffer应该是个缓冲区
if(pFile)
{
fwrite(bb,cc,1,pFile); //存储图像
fclose(pFile);
另外一段代码:http://topic.csdn.net/t/20060721/09/4894821.html
C#:
byte[] imageBuf = new byte[704*576*2];
int size = 704*576*2;
HikVisionSDK.GetJpegImage(ChannelHandle, imageBuf, out size, 100);
using (MemoryStream ms = new MemoryStream(imageBuf))
{
Image image = Image.FromStream(ms, true);
image.Save("C:1.jpg");
}
注意GetJpegImage的参数说明!!并且请注意,由于这个示例,发现前面的(GetJpegImage/GetOriginalImage)API错误了,请你及时更新!!
更多精彩
赞助商链接