2010-08-29 1 views

Répondre

5

Ne pensez pas que vous pouvez le faire directement, mais vous pouvez enregistrer l'image dans la bibliothèque image de l'utilisateur où l'utilisateur peut alors choisir d'utiliser l'image pour leur image à l'écran de verrouillage:

Photos, Photos, Photos - How To Save, Load And Iterate Pictures With Windows Phone 7

// Saves the WriteableBitmap encoded as JPEG to the Media library. 
// The quality for JPEG encoding has to be in the range 0-100, 
// where 100 is the best quality with the largest size. 
void SaveToMediaLibrary(this WriteableBitmap bitmap, string name, int quality); 

// Saves the WriteableBitmap encoded as JPEG to the Media library 
// using the best quality of 100. 
void SaveToMediaLibrary(this WriteableBitmap bitmap, string name); 
0

Je ne sais pas si vous pouvez définir l'image de l'écran de verrouillage par programmation. Mais dans Windows Phone OS 7.1 (« Mango »), vous pouvez utiliser la Photocamera classe pour accéder à la programmation caméra et enregistrer l'image capturée dans le dossier Rouleau de la caméra selon la méthode SavePictureToCameraRoll. Tous les détails sont dans la rubrique suivante:

How to: Create a Base Camera Application for Windows Phone

Mais fondamentalement, il suffit de créer une méthode pour tirer une fois la capture terminée et le fil-le-gestionnaire d'événements pour elle. Si vous êtes en train d'enregistrer un fichier JPEG, vous pouvez écrire le flux directement dans la bibliothèque.

Ce code montre initalizing la caméra, le câblage en place un gestionnaire d'événements, et l'application de l'alimentation de la caméra à un objet rectangle sur la page nommée vewfinderBrush:

//Code for initialization, image availability events anbd setting the source for the viewfinder 
    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 

     // Initialize camera 
     cam = new Microsoft.Devices.PhotoCamera(); 

     // Event is fired when the capture sequence is complete and an image is available. 
     cam.CaptureImageAvailable += new EventHandler<Microsoft.Devices.ContentReadyEventArgs>(cam_CaptureImageAvailable); 

     //Set the VideoBrush source to the camera. 
     viewfinderBrush.SetSource(cam); 
    } 

La classe Photocamera fait deux images disponibles quand il fait une capture: l'image complète et une vignette. Vous pouvez accéder à l'image dans les deux sens en utilisant l'argument ContentReadyEventArgs nommé et. Si vous gérez l'événement CaptureImageAvailable, vous obtenez l'image complète. Si vous capturez le CaptureThumbnailAvailable, vous obtenez la vignette.

// Informs when full resolution picture has been taken, saves to local media library  void cam_CaptureImageAvailable(object sender, Microsoft.Devices.ContentReadyEventArgs e) 
    { 

     try 
     { 
      // Save picture to the device media library. 
      library.SavePictureToCameraRoll(fileName, e.ImageStream); 
     } 
     finally 
     { 
      // Close image stream 
      e.ImageStream.Close(); 
     } 

Notez que la documentation montre également l'écriture de l'image et la vignette pour le stockage isolé.

Espérons que ça aide. Cheers