2013-04-03 3 views
0

J'ai écrit un code pour acessing la webcam avec deux boutons et une zone d'imageAforge pour webcam

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using AForge.Imaging; 
using AForge.Imaging.Filters; 
using AForge.Video; 
using AForge.Video.DirectShow; 

namespace cam 
{ 
public partial class Form1 : Form 
{ 

    public Form1() 
    { 
     InitializeComponent(); 
    } 
    private FilterInfoCollection webcam; 
    private VideoCaptureDevice cam; 
    Bitmap bitmap; 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     webcam = new FilterInfoCollection(FilterCategory.VideoInputDevice); 
     foreach (FilterInfo VideoCaptureDevice in webcam) 
     { 
      comboBox1.Items.Add(VideoCaptureDevice.Name); 

     } 
     comboBox1.SelectedIndex = 0; 
     } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     cam = new VideoCaptureDevice(webcam[comboBox1.SelectedIndex].MonikerString); 
     cam.NewFrame += new NewFrameEventHandler(cam_NewFrame); 
     cam.Start(); 

    } 
    void cam_NewFrame(object sender, NewFrameEventArgs eventArgs) 
    { 
     Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); 

     pictureBox1.Image = bitmap; 
    } 



    private void button3_Click(object sender, EventArgs e) 
    { 
     if (cam.IsRunning) 
     { 
      cam.Stop(); 
     } 
    } 

    private void pictureBox1_Click(object sender, EventArgs e) 
    { 
     pictureBox1.Image = bitmap; 
    } 



    } 

} 

Le code construire avec succès. mais sur déboguer la boîte d'image ne fonctionne pas. démarrer et arrêter fonctionne correctement. Quelqu'un peut-il aider?

+0

Essayez 'pictureBox1.Invalidate()'. –

+0

Merci bt je l'ai résolu. – Aswathy

+0

pourriez-vous s'il vous plaît dites-moi comment enregistrer l'image – Aswathy

Répondre

0

vous devez supprimer d'abord

Bitmap bitmap; 

parce que son nul et que ce que vous dans la case d'image pas l'image qui viennent de la caméra