C#WINFORM 怎样打开电脑摄像头拍照软件并且拍照 将照片保存到指定位置

已经到最后一张了!
CYH调用本机摄像头拍照源码
调用本机摄像头工具,一个非常简单的小demo,适合初学者
价格: 免费
累计评价:
源码目录结构图
Properties
Settings.settings[249B]
AForge.Video.DirectShow.dll[56KB]
AForge.Video.dll[18KB]
localVideo.exe[17KB]
localVideo.pdb[37KB]
localVideo.vshost.exe[21KB]
localVideo.vshost.exe.manifest[490B]
注册新图.jpg[13KB]
Properties.Resources.Designer.cs.dll[4KB]
DesignTimeResolveAssemblyReferences.cache[61KB]
DesignTimeResolveAssemblyReferencesInput.cache[10KB]
localVideo.F_GetCamImage.resources[3KB]
localVideo.Properties.Resources.resources[180B]
localVideo.csproj.FileListAbsolute.txt[1KB]
localVideo.csproj.GenerateResource.Cache[983B]
localVideo.csprojResolveAssemblyReference.cache[11KB]
localVideo.exe[17KB]
localVideo.pdb[37KB]
from.gif[4KB]
localVideo.csproj.user[227B]
localVideo.sln[909B]
localVideo.v11.suo[38KB]
最新Asp.Net源码下载.url[123B]
一、源码特点
& & & 采用winform进行开发,调用本机摄像头拍照源码,只有一个功能那就是调用本地摄像头拍照并保存照片
二、菜单功能
& & & 1、程序运行后,自动调用本机摄像头,可进行拍照保持或重拍
& & & 2、如本机无摄像头,将无法进行测试
三、注意事项
& & & 1、开发环境为Visual Studio 2012,使用.net 4.5开发
责任编辑:
WALL·E
同类下载排行
对您有用的代码
数据库应用
ASP.NET MVC安装组件
Windows Phone手机开发工具
Windows 云开发
常见技术问题
全国服务热线
运营中心:北京·中关村核心区调用摄像头的拍照与保存图片 - 下载频道
- CSDN.NET
&&&&调用摄像头的拍照与保存图片
调用摄像头的拍照与保存图片
调用系统API打开摄像头,并进行拍照可以保存图片在指定的位置。
里面包括打开摄像头,截图,以及退出程序,VS2008编译通过。
若举报审核通过,可奖励20下载分
被举报人:
zeng_xiangsheng
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行如何利用c#的WinForm程序里调用照相机驱动程序,控制连接到电脑上的照相机进行拍照!并且能够保存“?
如何利用c#的WinForm程序里调用照相机驱动程序,控制连接到电脑上的照相机进行拍照!并且能够保存“? 40
补充:需要程序代码的
例子自己研究下。 网上有很多例子的。
的感言:谢谢你帮了我大忙!万分感谢 相关知识
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号C#实现摄像头拍照功能 - 下载频道
- CSDN.NET
&&&&C#实现摄像头拍照功能
C#实现摄像头拍照功能
现行说明程序并非本人制作 是用C调用计算机底层API
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行3979人阅读
using System.Collections.G
using System.D
using System.D
using System.T
using System.Windows.F
using PickH
namespace test_avicap
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
//b_play.Enabled =
//b_stop.Enabled =
//panelPreview.Size = new Size(330, 330);
//wc = new WebCamera(panelPreview.Handle, panelPreview.Width, panelPreview.Height);
//wc.StartWebCam();
int left=0;
int top=0;
int width=352;
int height=288;
pick = new Pick( panelPreview.Handle, left,top, width, height );
pick.Start();
private void b_play_Click(object sender, EventArgs e)
//b_play.Enabled =
//b_stop.Enabled =
//panelPreview.Size = new Size(330, 330);
//wc = new WebCamera(panelPreview.Handle, panelPreview.Width, panelPreview.Height);
//wc.StartWebCam();
int left = 0;
int top = 0;
int width =352;
int height = 288;
pick = new Pick(panelPreview.Handle, left, top, width, height);
pick.Start();
private void b_stop_Click(object sender, EventArgs e)
//wc.CloseWebcam();
pick.Stop();
protected override void OnClosing(CancelEventArgs e)
if (MessageBox.Show("退出本系统?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
Application.Exit();
e.Cancel =
private void b_pic_Click(object sender, EventArgs e)//拍摄
if (this.b_pic.Text == "拍摄&A") //用于摄像的
b_pic.Text = "重照&C";
sdf1.Filter = "图片*.*..*.gif|*.bmp|所有文件(*.*)|*.*";
if (sdf1.ShowDialog() == DialogResult.OK)
path = sdf1.FileN
pick.GrabImage(path);
pic_show.ImageLocation = //并显示在方框中
pic_show.Location = new Point(110, 12);
pic_show.Visible =
panelPreview.Visible =
pick.Stop();
b_pic.Text = "拍摄&A";
pic_show.Visible =
panelPreview.Location = new Point(110, 12);
panelPreview.Visible =
pick.Start();
调用的类(class1.cs)
//本文是借助avicap32.dll库来驱动摄像头。做到了抓图、录像功能。
using System.Runtime.InteropS
using System.D
using System.Drawing.I
namespace PickHead
/// 一个控制摄像头的类
public class Pick
private const int WM_USER = 0x400;
private const int WS_CHILD = 0x;
private const int WS_VISIBLE = 0x;
private const int WM_CAP_START = WM_USER;
private const int WM_CAP_STOP = WM_CAP_START + 68;
private const int WM_CAP_DRIVER_CONNECT = WM_CAP_START + 10;
private const int WM_CAP_DRIVER_DISCONNECT = WM_CAP_START + 11;
private const int WM_CAP_SAVEDIB = WM_CAP_START + 25;
private const int WM_CAP_GRAB_FRAME = WM_CAP_START + 60;
private const int WM_CAP_SEQUENCE = WM_CAP_START + 62;
private const int WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START + 20;
private const int WM_CAP_SEQUENCE_NOFILE =WM_CAP_START+ 63;
private const int WM_CAP_SET_OVERLAY =WM_CAP_START+ 51;
private const int WM_CAP_SET_PREVIEW =WM_CAP_START+ 50;
private const int WM_CAP_SET_CALLBACK_VIDEOSTREAM = WM_CAP_START +6;
private const int WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2;
private const int WM_CAP_SET_CALLBACK_STATUSA= WM_CAP_START +3;
private const int WM_CAP_SET_CALLBACK_FRAME= WM_CAP_START +5;
private const int WM_CAP_SET_SCALE=WM_CAP_START+ 53;
private const int WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52;
private IntPtr hWndC;
private bool bStat =
private IntPtr mControlP
private int mW
private int mH
private int mL
private int mT
/// 初始化摄像头
/// 控件的句柄
/// 开始显示的左边距
/// 开始显示的上边距
/// 要显示的宽度
/// 要显示的长度
public Pick(IntPtr handle, int left, int top, int width,int height)
mControlPtr =
[DllImport("avicap32.dll")]
private static extern IntPtr capCreateCaptureWindowA(byte[] lpszWindowName, int dwStyle, int x, int y, int nWidth, int nHeight, IntPtr hWndParent, int nID);
[DllImport("avicap32.dll")]
private static extern int capGetVideoFormat(IntPtr hWnd, IntPtr psVideoFormat, int wSize );
[DllImport("User32.dll")]
private static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);
/// 开始显示图像
public void Start()
if (bStat)
byte[] lpszName = new byte[100];
hWndC = capCreateCaptureWindowA(lpszName,WS_CHILD|WS_VISIBLE ,mLeft,mTop,mWidth,mHeight,mControlPtr,0);
if (hWndC.ToInt32() != 0)
SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);
SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);
SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);
SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);
/// 停止显示
public void Stop()
SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
/// 要保存bmp文件的路径
public void GrabImage(string path)
// public void GrabImage( )
IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);
SendMessage(hWndC,WM_CAP_SAVEDIB,0,hBmp.ToInt32());
/// 要保存avi文件的路径
public void Kinescope(string path)
IntPtr hBmp = Marshal.StringToHGlobalAnsi(path);
SendMessage(hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,hBmp.ToInt32());
SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0);
/// 停止录像
public void StopKinescope()
SendMessage(hWndC, WM_CAP_STOP, 0, 0);
C#在WinForm下用摄像头实现抓图和录制
主窗体 Form1.cs
(一个按钮b_pic,一个图片显示pic_show,一个panelPreview,一个保存文件sdf1) using S
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:163128次
积分:3662
积分:3662
排名:第4040名
原创:213篇
评论:37条
(8)(41)(6)(7)(43)(33)(84)

我要回帖

更多关于 怎么用摄像头拍照 的文章

 

随机推荐