发个小程序希望有人需要(操作摄像头)_第1页
发个小程序希望有人需要(操作摄像头)_第2页
发个小程序希望有人需要(操作摄像头)_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、using System;using System.Collections.Generic;using System.Comp onen tModel;using System.Data;using System.Drawing;using Syste m丄 i nq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;n amespaceWi ndowsFormsApplicatio n24public partial class Form1 : Formpublic Form1(

2、)In itializeComp onen t();const short WM_CAP =1024;const int WM_CAP_DRIVER_CONNECT = WM_CAP +const int WM_CAP_DRIVER_DISCONNECT = WM_CAP +const int WM_CAP_EDIT_COPY = WM_CA30+con st int WM_CAP_SET_PREVIEW = WM_C庖0; +const int WM_CAP_SET_PREVIEWRATE = WM_G5®P +const int WM_CAP_SET_SCALE = WM_CAJ

3、3;+con st int WS_CHILD = 1073741824const int WS_VISIBLE = 268435456con st short SWP_NOMOVE2=con st short SWP_NOSIZE =1;const short SWP_NOZORDEF4=const short HWND_BOTTOM1 =int iDevice =0;int hHwnd;System.Runtime.InteropServices.Dlllmport("user32" , EntryPoi nt 二"Se ndMessageA"stat

4、ic extern int SendMessage(int hwnd, int wMsg, int wParam, MarshalAs(U nman agedType.AsA ny)object lParam);System.Runtime.InteropServices.Dlllmport("user32" , EntryPoi nt 二"SetWi ndowPos")static extern int SetWindowPos( int hwnd, int hWndlnsertAfter, int x, int y, int cx, int cy,

5、int wFlags);System.Runtime.lnteropServices.Dlllmport("user32")static extern bool DestroyWindow( int hndw);System.R un time.I nteropServices.Dlllmport("avicap32.dll")static extern int capCreateCaptureWindowA( string lpszWi ndowName,int dwStyle, int x, int y, int nWidth, short nHei

6、ght, int hWndParent, int nID);System.R un time.I nteropServices.Dlllmport("avicap32.dll")static extern bool capGetDriverDescriptionA(short wDriver, string lpszName, int cbName, string lpszVer, int cbVer);private void OpenPreviewWindow()int iHeight =320;int iWidth =200;/ Ope n Preview wi nd

7、ow in picturebox/hHw nd = capCreateCaptureWi ndowA(iDevice.ToStri ng(),n t32(),0);/ Connect to device/if (SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) = 1)/ Set the preview scale/SendMessage(hHwnd, WM_CAP_SET_SCALE,1, 0);/ Set the preview rate in milliseco nds/Sen dMessage(hHw nd, WM_CAP_SE

8、T_PREVIEWRATE,66,0);/ Start preview ing the image from the camera/SendMessage(hHwnd, WM_CAP_SET_PREVIEW,1, 0);/ Resize win dow to fit in picturebox/0, 0, iWidth,SetWi ndowPos(hHw nd, HWND_BOTTOM,iHeight, (SWP_NOMOVE | SWP_NOZORDER);else/ Error connecting to device close wi ndow/DestroyWi ndow(hHw nd

9、);private void ClosePreviewWindow()/ Disc onn ect from device/Sen dMessage(hHw nd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0);/ close win dow/DestroyWi ndow(hHw nd);private void butt on 1_Click( object sen der, Eve ntArgs e)iDevice =int .Parse(device_number_textBox.Text);Ope nPreviewWi ndow();C# codeusin

10、g System;using System.Collections.Generic;using System.Comp onen tModel;using System.Data;using System.Drawing;using Syste m丄 i nq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;n amespaceWi ndowsFormsApplicatio n24public partial class Form1 : Formpublic Form1()In

11、itializeComp onen t();const short WM_CAP =1024;WM_CAP +=WM_CAP +const int WM_CAP_DRIVER_CONNECT =const int WM_CAP_DRIVER_DISCONNECT const int WM_CAP_EDIT_COPY = WM_CA30+con st int WM_CAP_SET_PREVIEW = WM_C庖0; + const int WM_CAP_SET_PREVIEWRATE = WM_C2P + const int WM_CAP_SET_SCALE = WM_CAJ3;+con st

12、int WS_CHILD = 1073741824const int WS_VISIBLE = 268435456con st short SWP_NOMOVE2=con st short SWP_NOSIZE =1;const short SWP_NOZORDER4=const short HWND_BOTTOM1 =int iDevice =0;int hHwnd;System.Runtime.InteropServices.Dlllmport("user32" , EntryPoi nt ="Se ndMessageA"static extern

13、int SendMessage(int hwnd, int wMsg, int wParam, MarshalAs(U nman agedType.AsA ny)object lParam);System.Runtime.InteropServices.Dlllmport("user32" , EntryPoi nt ="SetWi ndowPos")static extern int SetWindowPos( int hwnd, int hWndlnsert After, int x, int y, int cx, int cy, int wFlag

14、s);System.Runtime.lnteropServices.Dlllmport("user32")static extern bool DestroyWindow( int hndw);System.R un time.I nteropServices.Dlllmport("avicap32.dll")static extern int capCreateCaptureWindowA( string lpszWi ndowName,int dwStyle, int x, int y, int nWidth, short nHeight, int

15、hWndParent, int nID);System.R un timenteropServices.Dlllmport("avicap32.dll")static extern bool capGetDriverDescriptionA(short wDriver, string lpszName, int cbName, string lpszVer, int cbVer);private void OpenPreviewWindow()int iHeight =320;int iWidth =200;/ Ope n Preview wi ndow in pictur

16、ebox/hHw nd = capCreateCaptureWi ndowA(iDevice.ToStri ng(),n t32(),0);/ Connect to device/if (SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) = 1)/ Set the preview scale/SendMessage(hHwnd, WM_CAP_SET_SCALE,1, 0);/ Set the preview rate in milliseco nds/Sen dMessage(hHw nd, WM_CAP_SET_PREVIEWRAT

17、E,66,/ Start preview ing the image from the camera/SendMessage(hHwnd, WM_CAP_SET_PREVIEW,1, 0);/ Resize win dow to fit in picturebox/SetWindowPos(hHwnd, HWND_BOTTOM, 0, 0, iWidth,iHeight, (SWP_NOMOVE | SWP_NOZORDER);else/ Error connecting to device close wi ndow/DestroyWi ndow(hHw nd);private void ClosePreviewWindow()/ Disc onn ect from device/Sen dMessage(hHw nd, WM_CAP_DRIVER_DISCONNECT, iDevic e, 0);/ close win dow/DestroyWi ndow(hHw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论