Silverlight 4 Teil 5: Webcam Support in Silverlight: Live Bilder in die RichTextArea einfügen

Von Mario Meir-Huber Autor Feed 14. January 2010 14:26

Ebenso wie die vorigen Posts ist auch dieses Post aufbauend. Wir sind bereits bei Teil 5 angelangt. wo wir uns den WebCam support in Silverlight 4 ansehen. In unseren “Ribbon” aus Teil 1 fügen wir einen neuen Button ein. Dieser trägt den Namen “Live Bild”. 

<Button Margin="5" Content="Live Bild" Click="Button_Click_1"></Button>

Nun editieren wir den Handler. Dieser funktioniert ähnlich dem im Teil 4 erklärten Vorgehen. Wir benötigen wieder einen Paragrafen, einen InlineUIContainer und ein Image. Die WebCam können wir mit der CaptureSource ansprechen.

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    Paragraph para;
    InlineUIContainer container;
    Image img;

    CaptureSource csource = new CaptureSource();

Um die WebCam zu verwenden überprüfen wir, ob ein Zugriff auf das Gerät überhaupt erst möglich ist. Danach greifen wir auf das Gerät mit “RequestDeviceAccess” zu. Die Methode “Start” startet die Aufnahme des Gerätes. Will man ein Bild machen, so funktioniert dies mit “AsyncCaptureImage”. Hier kann man mit Hilfe von Lamdba-Expressions das Bild aufnehmen. Wenn das Bild aufgenommen wurde, kann man die Aufnahme auch beenden.

if (CaptureDeviceConfiguration.AllowedDeviceAccess || CaptureDeviceConfiguration.RequestDeviceAccess())
            {
                csource.Start();

                if (csource.State == CaptureState.Stopped)
                    csource.VideoCaptureDevice = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();

                para = new Paragraph();
                container = new InlineUIContainer();

                img = new Image();

                para.Inlines.Add(container);

                TextArea.Blocks.Add(para);

                //beta bug!!!
                container.Child = img;

                csource.AsyncCaptureImage(n =>
                    {
                        img.Source = n;
                        csource.Stop();
                    });
            }

Das Bild hier zeigt mich wie ich eben das Sample erstellt habe. Live von der WebCam ;)

image

Bei dieser Gelegenheit möchte ich auch auf den WPF/Silverlight Community Day hinweisen, welcher am 29. Jänner in Graz statt finden wird. Hier werden die Silverlight 4 Neuerungen nochmal beleuchtet.

Mario Meir-Huber

Web: www.meirhuber.de

Twitter: www.twitter.com/mario_mh

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Datenschutzhinweis: Sie stimmen durch "Kommentar speichern" der Speicherung Ihrer Angaben durch Microsoft Österreich für die Beantwortung der Anfrage zu. Sie erhalten dadurch keine unerwünschten Werbezusendungen. Ihre Emailadresse wird auf Ihren Wunsch dazu verwendet Sie über neue Kommentare zu informieren.

Microsoft respektiert den Datenschutz. Datenschutz & Cookies

TechEd Europe 2013:

TechEd Europe 2013

Entwickler Wettbewerbe:

Wettbewerbe

Entwickler Events:

Developer Events

App für Windows 8, Windows Phone oder/und Azure? Diese Events zeigen Dir, wie es geht:

Mehr Information

Aktuelle Downloads

Windows Azure 90-day free trial
CodeFest.at on Facebook

Datenschutz & Cookies · Nutzungsbedingungen · Impressum · Markenzeichen
© 2013 Microsoft. Alle Rechte vorbehalten · BlogEngine.NET 2.7.0.0 · Diese Website wird für Microsoft von atwork gehostet.
powered by atwork