2013-03-14 9 views
0

J'écris un programme C# qui utilise la webcam pour capturer l'image. Pour la boîte pour la sortie de l'image, imagebox (dans la bibliothèque EmguCV) est choisi. Je suis prêt à obtenir les informations de pixel de l'image de sortie. Selon ma découverte, j'ai besoin de convertir l'image en imagebox en bitmap puis je peux utiliser le picturebox en C# pour effectuer l'analyse (http://www.emgu.com/wiki/index.php/Working_with_Images#Using_ImageBox) Donc, la méthode Tobitmap() est requise. Quelqu'un peut-il me donner une idée sur la façon de convertir l'image imagebox en base bitmap sur la fonction? Un grand merciImagebox convertir en bitmap

private void ProcessFrame(object sender, EventArgs arg) 
{ 
    ImageFrame = _capture.QueryFrame(); 
    detectimageBox.Image = ImageFrame; 
} 

Répondre

1

Il suffit de passer l'image dans le constructeur Bitmap:

Bitmap bitmap = new Bitmap(detectImageBox.Image); 

Vous pouvez, bien sûr, créer une extension:

public static Bitmap ToBitmap(this PictureBox imageBox) 
    { 
     return new Bitmap(imageBox.Image) 
    } 

appeler comme:

Bitmap bitmap = detectImageBox.ToBitmap(); 

N OTE: Je n'ai fait aucune vérification nulle ou quelque chose ici, je vous conseille de les inclure cependant.

+0

Ce n'est pas coulée - une nouvelle instance de bitmap est créé. – Igor

+0

Je ne sais pas pourquoi j'ai utilisé cette terminologie. Fatigué je pense. Poste édité. –

+0

merci laissez-moi un essai :) – user1994617