Сохранение изображения при нажатии кнопки создает необработанную ошибку исключения в WP7, а также сохраняет дублированное изображение - PullRequest
0 голосов
/ 29 января 2011

Я хочу сохранить изображение в телефоне WP7 нажатием кнопки. Ниже приведен код

 private void wallpaper_Click(object sender, RoutedEventArgs e)
    {

        String imageName ="temjpeg";      I

        // Create virtual store and file stream. Check for duplicate tempJPEG files.
        var myStore = IsolatedStorageFile.GetUserStoreForApplication();
        if (myStore.FileExists(temjpeg))
        {
            myStore.DeleteFile(temjpeg);
        }

        IsolatedStorageFileStream myFileStream = myStore.CreateFile(imageName);


        // Create a stream out of the sample JPEG file.
        // For [Application Name] in the URI, use the project name that you entered in                               the previous steps. Also TestImage.jpg is an example,
        //you must enter your JPEG filename if it is different.
        StreamResourceInfo sri = null;
        Uri uri = new Uri("some String",UriKind.Relative);
        sri = Application.GetResourceStream(uri);

        // Create a new WriteableBitmap object and set it to the JPEG stream.
        BitmapImage bitmap = new BitmapImage();
        bitmap.SetSource(sri.Stream);
        WriteableBitmap wb = new WriteableBitmap(bitmap);


        // Encode WriteableBitmap object to a JPEG stream.
        // SaveJpeg(WriteableBitmap bitmap, Stream targetStream, int targetWidth, int targetHeight, int orientation, int quality)
        Extensions.SaveJpeg(wb, myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
        myFileStream.Close();


        // Create a new stream from isolated storage, and save the JPEG file to the media library on Windows Phone.
        myFileStream = myStore.OpenFile(temjpeg, FileMode.Open, FileAccess.Read);

        MediaLibrary library = new MediaLibrary();

         Picture pic = library.SavePicture(imageName, myFileStream);
        myFileStream.Close();
         }

Но этот код создает исключение InvalidOperationException: Picture pic = library.SavePicture (imageName, myFileStream);В чем может быть проблема? .. после того, как проблема исключений была решена, теперь изображение сохраняется несколько раз, если нажимать кнопку сохранения несколько раз. Может кто-нибудь помочь?

1 Ответ

1 голос
/ 29 января 2011

Вы делаете это на эмуляторе, так как SavePicture не будет работать на эмуляторе, только на самом телефоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...