emanuelemattei

Il blog personale di Emanuele Mattei riguardante la programmazione Mobile, tramite il Compact Framework

Recent Posts

Tags

News

Community

Email Notifications

Blog Amici

Tools

Gratuito

Vari

Elenco siti

Archives

October 2010 - Posts

Video evento lancio di WP7

Windows Phone

Da qualche ora, è disponibile il video dell'evento live del lancio di Windows Phone 7.

Il video, è visibile al seguente indirizzo web http://www.microsoft.com/italy/windowsphone/evento/, e sono presenti tutte le sessioni di tale evento.

Si fa presente, che qualora avete problemi  di visualizzazione con Firefox, potete utilizzare Internet Explorer.

Che dirvi... buona visione :-))))

La gestione della camera in Compact Framework 3.5

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_compact-framework-la-gestione-delle-foto_972.aspx

Introduzione
Dalla versione di Windows mobile 5, posiamo utilizzare tramite le classi opportune, la fotocamera del dispositivo mobile per effettuare delle foto o delle riprese.
In questo articolo, vedremo alcuen tecniche di come utilizzare la camera del dispositivo mobile.
Si crea un nuovo progetto di tipo device, tramite il compact framework 3.5, inseriamo nel progetto due pulsanti, il primo permette di eseguire il codice per effettuare le foto, il secondo per effettuare delle riprese.

Stesura del codice.
Prima di passare in visualizzazione codice, inseriameno nel nostro progetto, un riferimento alla dll Microsoft.Windows.Form, che aggiungiamo tra i riferimenti.

Qui di seguito si riporta il codice per VB.Net e C# di tali dichiarazioni.

VB.Net
Imports Microsoft.WindowsForm.Forms

C#
Using Microsoft.WindowsForm.Forms

Terminata questa parte, nell'evento click di un pulsante, scriviamo il codice per eseguire la classe CameraCaptureDialog, che permette di gestire la fotocamera del dispositivo.

Questa classe, contiene un metodo chiamato ShoDialog che restituisce un enumerazione di vari risultati, come per esempio  l'annullamento, la conferma ed altro ancora.
Questo metodo permette di avviare la fotocamera.
Qui di seguito si riporta il codice per entrambi i linguaggi del suo utilizzo per effettuare delle foto.

VB.Net

 

Dim CameraFoto As New CameraCaptureDialog()

 

            CameraFoto.Owner = Me

            'imposto il titolo

            CameraFoto.Title = "Mio titolo"

            'imposto la cartella documenti

            CameraFoto.InitialDirectory = "\My Documents"

            'nome file

            CameraFoto.DefaultFileName = "\MiaFoto.jpg"

            'risoluzione

            CameraFoto.Resolution = New Size(100, 100)

            'Avvio la foto

            If CameraFoto.ShowDialog = Windows.Forms.DialogResult.OK Then

                MessageBox.Show(CameraFoto.FileName)

            End If

 

 

C#

 

CameraCaptureDialog CameraFoto = new CameraCaptureDialog();

                CameraFoto.Owner = this;

                //imposto il titolo

                CameraFoto.Title = "Mio titolo";

                //imposto la cartella documenti

                CameraFoto.InitialDirectory = @"\My Documents";

                //nome file

                CameraFoto.DefaultFileName = @"\MiaFoto.jpg";

                //risoluzione

                CameraFoto.Resolution = new Size(100, 100);

                //Avvio la foto

                if (CameraFoto.ShowDialog() == DialogResult.OK)

                    MessageBox.Show(CameraFoto.FileName);

Come si vede dal codice appena illustrato, si è creato un oggetto di tipo CameraCaptureDialog, la proprietà Owner è stata impostata con il nome della classe madre, mentre le altre proprietà, permettono rispettivamente di impostare il titolo della finestra che viene aperta, il percorso dove salvare l'immagine, il nome, la risoluzione.

La stessa classe, ci permette anche di gestire i video, impostando determinate proprietà.
Qui di seguito, si riporta un frammento di codice per entrambi i linguaggi di programmazione.

VB.Net

            'video

 

            Dim CameraVideo As New CameraCaptureDialog()

 

            CameraVideo.Owner = Me

            'imposto il path di salvataggio

            CameraVideo.InitialDirectory = "\My Documents"

            'imposto il file video

            CameraVideo.DefaultFileName = "\MioVideo.3gp"

            'imposto il titolo

            CameraVideo.Title = "Mio Titolo"

            'imposto il tipo

            CameraVideo.VideoTypes = CameraCaptureVideoTypes.Messaging

            'imposto la risoluzione

            CameraVideo.Resolution = New Size(176, 144)

            'il tempo di video (30 secondi)

            CameraVideo.VideoTimeLimit = New TimeSpan(0, 0, 30)

            'la modalità

            CameraVideo.Mode = CameraCaptureMode.VideoWithAudio

            If CameraVideo.ShowDialog = Windows.Forms.DialogResult.OK Then

                MessageBox.Show(CameraVideo.FileName)

            End If

 

 

        Catch ex As Exception

            MessageBox.Show(ex.Message)

        End Try

 

C#

 

CameraCaptureDialog CameraVideo = new CameraCaptureDialog();

 

                CameraVideo.Owner = this;

                //imposto il path di salvataggio

                CameraVideo.InitialDirectory = @"\My Documents";

                //imposto il file video

                CameraVideo.DefaultFileName = @"\MioVideo.3gp";

                //imposto il titolo

                CameraVideo.Title = "Mio Titolo";

                //imposto il tipo

                CameraVideo.VideoTypes = CameraCaptureVideoTypes.Messaging;

                //imposto la risoluzione

                CameraVideo.Resolution = new Size(176, 144);

                //il tempo di video (30 secondi)

                CameraVideo.VideoTimeLimit = new TimeSpan(0, 0, 30); 

                //la modalità

                CameraVideo.Mode = CameraCaptureMode.VideoWithAudio;

                if (CameraVideo.ShowDialog() == DialogResult.OK )

                {

                    MessageBox.Show(CameraVideo.FileName);

                }

 

 

l'uso di alcune proprietà è uguale al codice visto in precedenza, solo che impostando la proprietà videotype e VideotimeLimit, e mode, verrà utilizzata la funzione ripresa.
Con Mode, viene impostato il tipo di ripresa con audio, mentre la proprietà videotimelimit, limita il tempo di dura, nel nostro caso 30 secondi.


Conclusioni
Si è visto, come la programmazione in Windows Mobile 5  e 6 è notevolemnte semplificata per uso di alcuni componenti di cui è dotato il dispositivo, come la videocamera.