lunedì 21 ottobre 2013

Tutorial Silverlight e GIS il controllo Map

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-gis-silverlight/art_il-controllo-map_1310.aspx


Introduzione
In questo nuovo articolo riguardante l'utilizzo della tecnologia Silverlight in ambito GIS , riprendiamo l’articolo precedente riguardante l’utilizzo della mappa in una nostra applicazione Silverlight, vedremo in questo articolo, alcuni aspetti interessanti del controllo MAP.
Il lettore può utilizzare il progetto creato nel precedente articolo oppure crearne uno nuovo.

Personalizzazione del controllo
Dopo aver inserito il controllo mappa o utilizzare quello precedente, sia nella parte XAML e sia nella finestra delle proprietà (figura 1) si ha la possibilità di togliere il logo Esri presente nel controllo, tramite la proprietà "IsLogoVisible".


Figura 1 – la possibilità di togliere il logo

Impostando la proprietà IsLogoVisibile  a false,  (o togliere la spunta) nella mappa non sarà visualizzato il logo “Powered By Esri” .

Sotto a tale proprietà, abbiamo la voce “Layers” se notiamo bene, c’è un pulsante, se facciamo click su tale voce, verrà aperta una finestra “Figura 2) la quale ci permette di impostare la tipologia (aspetto) della mappa che vogliamo visualizzare.


Figura 2 – la finestra per impostare il Layers.
Tra le varie proprietà, la voce “Url” permette di impostare la tipologia di mappa.
Facciamo click sul pulsante “…” il quale ci aprirà a sua volta una finestra (figura 3).


Figura 3 – La finestra per impostare la tipologia delle mappe.

A seconda del tipo di voce selezionato, ci verrà fornita una tipologia di “Mappa” se viene selezionata una voce, nella parte destra, verrà visualizzata la descrizione in lingua inglese, mentre nella parte inferiore, l’anteprima della mappa, in cui possiamo fare anche lo zoom.
Selezionate la voce “Ocean BaseMap” e fate click sul pulsante “OK”.
A questo punto nell’anteprima del controllo (figura 4) vedremo che la visualizzazione della mappa è cambiata.


Figura 4 – l’anteprima della mappa che riguarda la parte mari e fiumi.

Siamo giunti al termine dell’articolo, non ci resta che eseguire il nostro programma per vedere il risultato finale, il lettore noterà come l'aspetto grafico della mappa è cambiato. In particolare verrà visualizzata una mappa che definisce i mari, fiumi e laghi del mondo.

Questa proprietà è molto importante perchè definisce l'aspetto grafico che possiamo impostare.

Conclusioni

L’articolo ha voluto fornire al lettore le basi sull’utilizzo del controllo mappa, riportando alcuni concetti sulle funzionalità offerte da questo controllo, inoltre come possiamo cambiare il tipo di mappa, importante per fornire determinate informazioni su un territorio. Questo controllo offre una notevole flessibilità e le varie mappe messe a disposizioni anche tramite i servizi web, offrono indubbiamento una vasta scelta di personalizzazione e soprattutto d'informazione da esporre.
Nei prossimi articoli vedremo come utilizzare questo controllo e le varie presentazioni grafiche.

domenica 20 ottobre 2013

C# read file CSV

Ul frammento di codice qui di seguito illustra una tecnica di come leggere il contenuto di un file CSV tramite il linguaggio di programmazione C#.

                   FileInfo FileElabora = new FileInfo(PercorsoNomeFile);
                    using (OleDbConnection Connessione= new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + FileElabora .DirectoryName + "\";Extended Properties='text;HDR=Yes;FMT=Delimited(,)';"))
                    {
                        using (OleDbCommand cmd = new OleDbCommand(string.Format ("SELECT * FROM [{0}]", FileElabora .Name), Connessione))
                        {
                            Connessione.Open();
                            using (OleDbDataReader Record= cmd.uteReader())
                            {
                                while (Record.Read())
                                {
                                    testo += Record[0];
                                }
                            }


                        }
                    }

sabato 19 ottobre 2013

Free tools .Net decompiler dotPeek

Qui http://www.jetbrains.com/decompiler/download/index.html potete scaricare la versione 1.1 di dotPeek, un tools gratuito che permette di decompilare i file in .Net.

Il programma, completamente gratuito, permette di estrapolare il codice .Net, della DLL o file Eseguibile che si sta esaminando.
Consigliato.

venerdì 18 ottobre 2013

C# convert string to byte array base64

Nel caso che si ha una stringra, e la si vuole trasformare in un array di byte base4 per generare un file (esempio pdf) il frammento di codice qui di seguito illustra tale tecnica.

 string Testo = GetValore;

            byte[] binaryData  =        System.Convert.FromBase64String(Testo );

            FileStream fs = new FileStream("C:\\MioFile.pdf", FileMode.Create, FileAccess.Write);

            fs.Write(binaryData, 0, binaryData.Length);

            fs.Close();

giovedì 17 ottobre 2013

Download free Vivo Next 2.0

ViVo Next 2.0 il computer legge per te









Come riportato nel sito di Antonio, qui http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=2190&Itemid=33 da circa un mese è on line la nuova versione di Vivo Next 2.0, un software in italiano fatto da italiano che è di aiuto per tutte quelle persone che hanno problemi nell'utilizzo del pc. Indicato per gli ipovedenti e dislessici.

Complimenti a Silvio ed Antonio, per questo impegno nel sociale.


mercoledì 16 ottobre 2013

Tutorial Infopath 2013 Il pulsante immagine

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-infopath-2013/art_il-controllo-pulsante-immagine_1300.aspx


Introduzione
In infopath 2013 sono stati aggiunti nuovi controlli, tra i nuovi controlli è presnte il pulsante  immagine (figura 1), il quale ci permette di impostare ad un pulsante un immagine.





Figura 1 – il controllo pulsante immagine

Creazione del modulo

Si crea un nuovo modulo, nel quale possiamo fare le nostre prove, oppure utilizziamo uno di quelli utilizzati nei precedenti articoli.
Trasciniamo nel modulo il controllo “Pulsante immagine” come illustrato in figura 1.
A questo punto selezioniamo il controllo e tramite il menu “Strumenti controllo Proprietà” fate click sul pulsante “Proprietà Controllo” figura 2.










Figura 2 – Il pulsante proprietà controllo

Si aprirà una finestra (figura 3) nella quale si devono impostare le immagini.
Nella sezione Immagini, troviamo due caselle nelle quali è possibile scegliere il tipo di immagine.
Il primo, indica l’immagine che viene visualizzata in ogni istante nel pulsante, la seconda casella, quella in basso, indica invece l’immagine che verrà visualizzata quando il mouse si trova sopra il pulsante.






Figura 3 – la finestra per impostare le immagini


Per impostare l’immagine, fate click sul pulsante Sfoglia, a questo punto verrà aperta una finestra nella quale possiamo selezionare i file.
Confermate il tutto tramite il pulsante ok

Creazione delle regole

In questa parte vedremo come creare una regola in questa nuova versione di Infopath 2013, in particolare nel momento in cui si fa click sul pulsante appena inserito, chiuderà il modulo.
Selezionate il controllo “Pulsante immagine” e nella finestra del pulsante, facciamo click sul pulsante “Aggiungi regola” (figura 4) verrà aperto un menu, nel quale la prima voce indica l’evento click del pulsante. Tra le varie possibilità selezioniamo “Chiudi modulo”.


Figura 4 – L’aggiunta di una nuova regola


Dopo aver scelto l’opzione “Chiudi modulo” verrà visualizzato un messaggio (figura 5) il quale indica che non è supportato il messaggio di avviso di chiusura della finestra.


Figura 5 – La finestra di avviso


Confermate il tutto tramite il pulsante “OK”
A questo punto non ci resta che testare il nostro modulo, andiamo in visualizzazione anteprima (Figura 6) e come potete vedere il pulsante visualizza l'immagine impostata, la prima indica quella in modalità normale, mentre la seconda quando si avvicina il mouse sul pulsante.




Figura 6 – Le due immagini del pulsante

Ora se proviamo a fare click sul pulsante, il modulo verra chiuso, questo perchè abbiamo impostato una regola.

Conclusioni

L’articolo ha illustrato il nuovo controllo immagine, presente in questa nuova versione di infopath 2013, un pulsante che può tornare utile soprattutto quando si utilizza tale programma in ambito di intranet o tramite piattaforma Shareponit.
Inoltre è stato affrontato, anche se in forma molto basilare la gestione delle regole.

martedì 15 ottobre 2013

free software managing MySql e Sql Server




Il programma gratuito HeidiSql, qui http://www.heidisql.com/ il sito è un programma gratuito per la gestione dei database, in particolare MySql e Sql Server.

Il programma è anche portatile, ossia non richiede nessuna installazione.


Consigliato.


lunedì 14 ottobre 2013

Tutorial Infopath il controllo casella di testo RTF

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-infopath-2013/art_il-controllo-casella-di-testo-rtf_1298.aspx

Introduzione
In un articolo precedente, abbiamo visto il controllo Casella di testo, che è un controllo di input, ossia l’utente ha la possibilità di scrivere all’interno.
Tra i vari controlli offerti da Infopath, troviamo il controllo “Casella di testo RTF” il quale offre notevoli funzionalità di una comune casella di testo con qualche estenzione.
Nell’articolo vedremo alcuni aspetti di questo controllo.
Creazione del modulo
Si crea un nuovo modulo di Infopath o si utilizza uno di quelli precedenti utilizzati.
Trascinate nel modulo il controllo “Casella di Testo RFT” come illustrato in figura 1.



Figura 1  – Il controllo Casella di testo RTF.

Se facciamo click sulle proprietà del controllo, viene visualizzata la finestra delle proprietà (figura 2) la quale ci permette tra le varie opzioni, di impostare l’allineamento del testo.


Figura 2 – la finestra delle proprietà

Le varie impostazioni ci permettono di rendere la scrittura come se fosse a tutti gli effetti un editor avanzato, e quindi scrivere del testo in maniera professionale.
Anche per questo controllo, possiamo applicare lo sfondo, impostare delle regole ed altre operazioni simili, un valore predefinito ed altro ancora
.


Figura 3 – la formattazione applicata al testo

L’editor, come si vede in figura 3, è molto potente, al punto che possiamo impostare una determinata formattazione al testo, anche alle singole parole.
Per far ciò scriviamo del testo, per esempio possiamo impostare il seguente testo “Questo testo è di prova”, selezionate la parola “testo” e posizionate il puntatore del mouse sul pulsante “Evidenzia colore” (figura 4) in modo che viene aperta una finestra nella quale selezionare il colore da impostare al testo. Questo punto ha come immagine una penna con dietro due lettere "ab", ed una riga di un certo colore.



Figura 4 – il pulsante per impostare l’evidenziatore al testo.


Selezionate dalla tavolazza dei colori che viene aperta, il colore verde. Si noti che accanto all’immagine c’è un pulsane con la freccia verso il basso, questa freccia permette di aprire la tavolazza dei colori e la selezione di un determinato colore. Se invece facciamo click direttamente sul pulsante, verrà applicato il colore che è presente nell'immagine come sottolineatura.
A questo punto selezionate la parola “prova” e successivamente con il puntatore del mouse selezionate  il pulsante “Colore Testo “ (figura 5) che è rappresentato dall'immagine di una "A" in questo modo  possiamo impostare il colore al testo selezionato, che si trova subito dopo il pulsante di "Evidenzia".





Figura 5 – il pulsante per colorare il testo

Anche per questo pulsante, troviamo accanto un icona con la freccia verso il basso, fate click su essa, e si aprirà una finestra contenente una serie di colori.
Selezionatene uno a vostro piacimento e ritornate nel modulo.
Come potete vedere, il testo è stato formattato con alcune particolarità.

Conclusioni

L’articolo ha voluto fornire informazioni di base sull’utilizzo del controllo “Casella di testo RTF” offerto dal programma Microsoft Infopath 2013,  la flessibilità di tale controllo, mette a disposizione dell’utente un potente controllo per la gestione del testo. I due pulsanti,  quello con l'immagine della penna con le lettere "ab" permette di impostare l'azione di "Evidenziare" mentre il pulsante con l'immagine della lettera "A" e con la riga sotto di un certo colore indica l'azione di cambiare il colore del testo.

domenica 13 ottobre 2013

Tutorial Infopath 2013 il controllo collegamento ipertestuale

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-infopath-2013/art_il-controllo-collegamento-ipertestuale_1299.aspx

Introduzione
In infopath 2013, sono stati aggiunti alcuni nuovi controlli, tra questi figura il controllo collegamento ipertestuale, che è lo stesso che troviamo nelle pagine web. L’aspetto è identico a quello delle pagine web, una scritta con la sottolineatura e particolare colore del carattere, il mouse che cambia forma quando si avvicina alla scritta e l’apertura di un sito quando si fa click su tale testo, medesi aspetti che troviamo in maniera identica anche nei moduli realizzati in Microsoft Infopath.
In questo articolo vedremo il relativo funzionamento.


Creazione del progetto
Si crea un progetto di tipo infopath, trascinate nel modulo il controllo “Collegamento ipertestuale” (figura 1) .










Figura 1 – Il controllo collegamento ipertestuale.

Quando si posiziona il controllo, verrà visualizzata la dicitura “Fare click qui per inserire un collegamento ipertestuale” (figura 2) che è ciò che verrà visualizzato nell’eventualità che visualizziamo il modulo in modalità anteprima.



Figura 2 – Il controllo posizionato

Per modificare il testo ed il collegamento, facciamo click sul controllo, in modo da renderlo attivo, e poi dal menu “Strumenti controllo” e successivamente “proprietà” facciamo click sul pulsante “Proprietà campo” (figura 2) che si trova in alto a sinistra.
Se facciamo click su quel pulsante, verrà visualizzata la finestra delle proprietà del campo (Figura 3), sotto dove si trova la casella “Valore:” dobbiamo inserire il sito (compreso di http://) che vogliamo visualizzare.


Figura 3 – la finestra delle proprietà

Dopo aver valorizzato tale campo, confermiamo il tutto tramite il pulsante OK.
A questo punto se effettuiamo una prova (figura 4) tramite l’anteprima, nel modulo verrà visualizzato la scritta con lo stile di un collegamento ipertestuale, se facciamo click  su quel testo, verrà aperto il browser predefinito con il sito impostato.




Figura 4 – Modalità anteprima

Come avrà notato il lettore, il sito ha un immagine, che se facciamo click su esso, verrà aperta una finestra per impostare del testo.
Per evitare ciò dobbiamo impostare il controllo in modalità di sola lettura, in questo modo non si può modificare ne il testo e ne il collegamento.

Conclusioni

L’articolo ha voluto fornire interessanti indicazioni sul nuovo controllo collegamento ipertestuale, presente in questa nuova versione di Infopath. Un controllo nato appunto per l'integrazione di Infopath in ambito web, come può essere il suo utilizzo nella piattaforma Sharepoint.
Il programma Microsoft Infopath 2013, è continua evoluzione di un programma nato qualche anno fa, e che piano piano si sta affermando.

sabato 12 ottobre 2013

Tutorial Infopath 2013 il controllo opzione

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-infopath-2013/art_il-pulsante-di-opzione_1301.aspx.


 Introduzione


In questo articolo vedremo l’utilizzo base del controllo per la scelta delle opzioni denominato "il pulsante di opzione" del programma di Microsoft Infopath 2013.
Creazione modulo
Si crea un nuovo modulo o si utilizza uno già esistente, trasciniamo nel modulo il controllo, il tutto come mostrato in figura 1




Figura 1 – Il controllo pulsante di opzione.

Quando si inserisce tale controllo   viene visualizzata una finestra (figura 2) la quale ci chiede quanti pulsanti di opzione vogliamo visualizzare.


Figura 2 – La finestra del numero dei pulsanti.

Confermate la finestra che viene visualizzata tramite il pulsante “OK”.
Posizionate il pulsante in maniera orizzontale, selezionandone singolarmente le dimensioni il tutto  come riportato in figura 3.




Figura 3 – La disposizione dei controlli.

Scriviamo del testo (per esempio i nomi delle città) in modo che abbiamo la definizione dei singoli pulsanti.
Possiamo scrivere il testo che precede  facendo click sul tondino del controllo, basta posizionare il puntatore del mouse prima del controllo, il tutto come mostrato in figura 4.



Figura 4 – Il testo per ogni pulsante.

Il primo pulsante avrà il testo “Roma”, il secondo “Milano” il terzo “Catania”.
Ora dobbiamo far in modo che un pulsante, è impostato di default, selezioniamo il primo controllo e tramite il pulsante destro del mouse, nel menu di scelta rapida selezioniamo la voce “Proprietà Pulsante di opzione.” Oppure tramite il menu “Proprietà controllo” situato nella barra “Strumenti controllo Proprietà “ Figura 5.




Figura 5 – Il pulsante Proprietà controllo.

Nella finestra che viene aperta (figura 6) notiamo alcune particolarità.
La prima, il valore di ogni pulsante, che è contraddistinta nella casella “Valore Pulsante Selezionato” che nel nostro caso è impostato a 2 ma può cambiare.



Figura 6 – La finestra proprietà del pulsante

Mentre la spunta su “Pulsante selezionato per impostazione predefinita” imposta la scelta di selezione.
Confermate il tutto, tramite il pulsante “OK”.
A questo punto passiamo in anteprima modulo e noteremo che la prima opzione è selezionata, selezionando altre voci, verranno a loro volta selezionati.

Conclusioni

L’articolo ha voluto fornire la basi di questo controllo che può tornare utile per diversi aspetti. Un controllo interessante e che al tempo stesso offre una grande flessibilità al progettista.

venerdì 11 ottobre 2013

on line Favicon Generator

Se state cercando uno strumento on line gratuito che vi permette di creare delle icone favicon, un sito che non richiede nessuna registrazione e nel lasciare la propria email, il sito http://www.prodraw.net/online-tool/favicon-generator.php fa per voi.
Un ottimo strumento gratuito on line.

giovedì 10 ottobre 2013

Silverlight la gestione della webcam C# e VB.Net

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_silverlight-la-gestione-della-webcam_1290.aspx


Con la versione 4 di Silverlight, sono state inserite nuove classi, che permettono un utilizzo ancora più professionale della tecnologia Silvierlight. Tra le numerose novità troviamo la gestione della webcam e dell’audio.
In questo articolo, si forniscono le basi di utilizzo della webcam.

Creazione del progetto
Si crea un nuovo progetto in Silverlight secondo il linguaggio di programmazione di vostro gradimento.
Dopo aver creato il progetto, inserite nella pagina due controlli combobox, che avranno il compito di visualizzare l’elenco delle webcam installate nel pc e dell’audio.
Inserite un controllo Rectable, e tre controlli di tipo pulsante il tutto come mostrato in figura 1.



Figura 1 – La finestra con i controlli

Ora non ci resta che creare le classi per visualizzare la ripresa della webcam.
Passiamo in visualizzazione codice e dichiariamo a livello di classe, sotto la dichiarazione della classe, gli oggetti CaptureSource e ImageBrusce

Qui di seguito si riporta il frammento di codice per entrambi i linguaggi.



VB.Net
  Dim CaSourceCattura As New CaptureSource()

    Dim imageBrush = New ImageBrush()

C#
CaptureSource CaSourceCattura = new CaptureSource();



        ImageBrush imageBrush = new ImageBrush();

        VideoCaptureDevice webcam = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();

        AudioCaptureDevice audio = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice();



Nell’evento loadContent della pagina, scriviamo il codice per il caricamento delle combo per la visualizzazione dei nomi delle webcam installate e nomi delle periferiche audio installate.
Qui di seguito si riporta il frammento di codice.




VB.Net
Private Sub LayoutRoot_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles LayoutRoot.Loaded

         

        CmbMicrofono.ItemsSource = CaptureDeviceConfiguration.GetAvailableAudioCaptureDevices()

        CmbCam.ItemsSource = CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices()

    End Sub

C#
private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)

        {

            CmbMicrofono.ItemsSource = CaptureDeviceConfiguration.GetAvailableAudioCaptureDevices();

            CmbCam.ItemsSource = CaptureDeviceConfiguration.GetAvailableVideoCaptureDevices();

        }





La classe CaptureDeviceConfiguration, tramite il metodo GetAvailableAudioCaptureDevices elenca tutte le periferiche audio e video installate nel pc.
Nell’evento click del pulsante con la dicitura “Avvia” (o uno dei pulsanti sulla form) dobbiamo eseguire il codice per eseguire la ripresa della webcam.
Qui di seguito, si riporta il codice per il linguaggio di programmazione VB.Net e C# che permette di avviare la ripresa della webcam.




VB.Net
Private Sub BtnAvvia_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles BtnAvvia.Click





        Dim webcam = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice()



        Dim audio = CaptureDeviceConfiguration.GetDefaultAudioCaptureDevice()



        CaSourceCattura.VideoCaptureDevice = webcam

        CaSourceCattura.AudioCaptureDevice = audio



        Dim webcamBrush = New VideoBrush()



        webcamBrush.SetSource(CaSourceCattura)



        RctVisualizzaCam.Fill = webcamBrush

        If CaptureDeviceConfiguration.RequestDeviceAccess AndAlso (CaSourceCattura.VideoCaptureDevice IsNot Nothing) Then



            Try

                CaSourceCattura.Start()

            Catch ex As InvalidOperationException

                ' Errore

                MessageBox.Show("Impossibile accedere alla webCam")

            End Try



        End If







    End Sub

C#
private void BtnAvvia_Click(object sender, RoutedEventArgs e)

        {



            CaSourceCattura.VideoCaptureDevice = webcam;



            CaSourceCattura.AudioCaptureDevice = audio;

            VideoBrush webcamBrush = new VideoBrush();



            webcamBrush.SetSource(CaSourceCattura);

            RctVisualizzaCam.Fill = webcamBrush;

            if (CaptureDeviceConfiguration.RequestDeviceAccess() && CaSourceCattura.VideoCaptureDevice != null)

            {

                try

                {

                    CaSourceCattura.Start();

                }

                catch (InvalidOperationException ex)

                {



                    MessageBox.Show("Impossibile accedere alla webCam");

                }

            }



          }


Come si è visto dal frammento di codice precedente, dopo aver assegnato alla proprietà VideoCaptureDevice ed AudioCaptureDevice, gli oggetti per la gestione webcam e audio, si verifica se è accessibile, a questo punto, tramite il metodo Start si avvia la ripresa, che verrà visualizzata nel controllo rettangolo.

Tramite il metodo “Stop” della classe “CaptureSource”si ferma la ripresa, qui di seguito un frammento di codice dell’evento click del pulsante per fermare la ripresa.



VB.Net
  Private Sub BtnFerma_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles BtnFerma.Click

        If (CaSourceCattura.VideoCaptureDevice IsNot Nothing) Then

            CaSourceCattura.Stop()

        End If



    End Sub

C#
  private void BtnFerma_Click(object sender, RoutedEventArgs e)

        {

            if (CaSourceCattura.VideoCaptureDevice != null)

            {

                CaSourceCattura.Stop();

            }



        }


A questo punto non ci rimane che scrivere il codice, per utilizzare la webcam per rilevare i singoli frame, ossia immagini dalla nostra webcam.
Nell’evento click inseriamo il codice per tale operazione. Mentre i frammenti di codice seguenti, illustrano vari aspetti, come la gestione in caso di errore, quando ha completato il rilevamento delle immagini, e tanto altro.




VB.Net
Private Sub BtnRilevaImmagine_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles BtnRilevaImmagine.Click

        ' Rilevo l'immagine

        RctVisualizzaCam.Fill = imageBrush

        If CaptureDeviceConfiguration.RequestDeviceAccess AndAlso (CaSourceCattura.VideoCaptureDevice IsNot Nothing) Then



            CaSourceCattura.Start()

            If (CaSourceCattura.VideoCaptureDevice IsNot Nothing) _

            AndAlso (CaSourceCattura.State = CaptureState.Started) Then



                CaSourceCattura.CaptureImageAsync()



            End If

        End If

        AddHandler CaSourceCattura.CaptureImageCompleted, AddressOf CaSourceCattura_CaptureImageCompleted



        AddHandler CaSourceCattura.CaptureFailed, AddressOf CaSourceCattura_CaptureFailed

    End Sub

Gestore di evento CaptureImageCompletend

Private Sub CaSourceCattura_CaptureImageCompleted(ByVal sender As Object, ByVal e As CaptureImageCompletedEventArgs)



        imageBrush.ImageSource = e.Result



    End Sub


Gestore di evento in caso di fallimento
  Private Sub CaSourceCattura_CaptureFailed(ByVal sender As Object, ByVal e As ExceptionRoutedEventArgs)

        'Gestione errore

    End Sub

C#
private void BtnRilevaImmagine_Click(object sender, RoutedEventArgs e)

        {

            //Rilevo l'immagine

            RctVisualizzaCam.Fill = imageBrush;

            if (CaptureDeviceConfiguration.RequestDeviceAccess() && CaSourceCattura.VideoCaptureDevice != null)

            {

                CaSourceCattura.Start();

                if (CaSourceCattura.VideoCaptureDevice != null && CaSourceCattura.State == CaptureState.Started)

                {

                    CaSourceCattura.CaptureImageAsync();

                }



            }

            CaSourceCattura.CaptureImageCompleted += new EventHandler<CaptureImageCompletedEventArgs>(CaSourceCattura_CaptureImageCompleted);

            CaSourceCattura.CaptureFailed += new EventHandler<ExceptionRoutedEventArgs>(CaSourceCattura_CaptureFailed);



        }

Gestore di evento in caso di completamento positivo
void CaSourceCattura_CaptureImageCompleted(object sender, CaptureImageCompletedEventArgs e)

        {

            imageBrush.ImageSource = e.Result;

        }


Gestore di evento in caso di fallimento
void CaSourceCattura_CaptureFailed(object sender, ExceptionRoutedEventArgs e)

        {

            //Gestione errore

        }


A questo punto non ci resta che testare il nostro applicativo, avviamo il programma e facciamo le prove.

Conclusioni

L’articolo ha voluto fornire le basi per utilizzare la webcam e l’audio nelle applicazioni Silverlight versione 4 o successiva, tramite il linguaggio di programmazione VB.Net e C#.
Le varie classi messe a disposizione offrono al programmatore interessanti possibilità di realizzare applicazioni avanzate.