void photoTask_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK && e.Error == null) { var photoStream = new MemoryStream(); var thumbnailStream = new MemoryStream(); var library = new MediaLibrary(); var dateTaken = DateTime.Now; bool found = false; foreach (var pic in library.Pictures) { if (e.OriginalFileName.Equals(MediaLibraryExtensions.GetPath(pic))) { pic.GetImage().CopyTo(photoStream); photoStream.Seek(0, SeekOrigin.Begin); pic.GetPreviewImage().CopyTo(thumbnailStream); thumbnailStream.Seek(0, SeekOrigin.Begin); dateTaken = pic.Date; NokiaImaginHelper.PreparePhoto(photoStream, thumbnailStream); found = true; break; } } if (found) { NavigationService.Navigate(new Uri(String.Format("/FilterPreviewPage.xaml?dateTaken={0}&shouldCrop={1}", dateTaken.Ticks, Constant.NORMAL_MODE), UriKind.Relative)); } } }
private void SavePicture() { MemoryStream stream = new MemoryStream(); WriteableBitmap bitmap = new WriteableBitmap(LayoutRoot, null); bitmap.SaveJpeg(stream, bitmap.PixelWidth, bitmap.PixelHeight, 0, 100); stream.Seek(0, SeekOrigin.Begin); MediaLibrary mediaLibrary = new MediaLibrary(); mediaLibrary.SavePicture("Picture.jpg", stream); stream.Close(); string fullPath = MediaLibraryExtensions.GetPath(mediaLibrary.SavedPictures.Last()); mediaTask.FilePath = fullPath; MessageBox.Show(AppResources.PhotoPage_Image_Saved, AppResources.App_Title, new MessageBoxButton()); savedPicture = true; }
public void GetScreenShots() { try { PictureAlbumCollection allAlbums = _mediaLibrary.RootPictureAlbum.Albums; ScreenShots.Clear(); foreach (var album in allAlbums) { if (album.Name.ToUpper().Contains("SCREENSHOT")) { PictureCollection screenShots = album.Pictures; foreach (var picture in screenShots) { Stream picToDisplay = picture.GetImage(); BitmapImage bmImage = new BitmapImage(); bmImage.SetSource(picToDisplay); var imageToShow = new Image { Source = PictureDecoder.DecodeJpeg(picToDisplay, picture.Width, picture.Height) }; ScreenShots.Add(new ScreenShot(picture.Name, new Uri(MediaLibraryExtensions.GetPath(picture), UriKind.Absolute), imageToShow)); } } } if (ScreenShots.Count() >= 1) { SelectedScreenShot = ScreenShots[ScreenShots.Count - 1]; } else { NoScreenShotVisibility = Visibility.Visible; } } catch (Exception ex) { } }
private void Browser_ScriptNotify(object sender, NotifyEventArgs e) { string fileName = "01_Susies_dnc_09-05-12.mp3"; var resource = Application.GetResourceStream(new Uri(@"media/" + fileName, UriKind.Relative)); IsolatedStorageFileStream fileStream = IsolatedStorageFile.GetUserStoreForApplication().CreateFile(fileName); resource.Stream.CopyTo(fileStream, 4096); resource.Stream.Close(); fileStream.Close(); Uri fileUri = new Uri(fileName, UriKind.RelativeOrAbsolute); var ml = new MediaLibrary(); try { MediaLibraryExtensions.SaveSong(ml, fileUri, null, SaveSongOperation.CopyToLibrary); } catch (Exception ex) { string errorMessage = ex.Message.ToString(); } }
public void Share(byte[] data, string dataFilename, string text, string title, string desc, SocialShareDataTypes type) { #if WINDOWS_PHONE if (data != null) { string filename; using (var m = new MediaLibrary()) using (var image = m.SavePicture(dataFilename + (type == SocialShareDataTypes.Image_PNG ? ".png" : ".jpg"), data)) { filename = MediaLibraryExtensions.GetPath(image); } var shareTask = new ShareMediaTask(); shareTask.FilePath = filename; shareTask.Show(); } else if (!string.IsNullOrEmpty(text)) { var shareTask = new ShareStatusTask(); shareTask.Status = text; shareTask.Show(); } #else shareText = text; shareTitle = title; shareDesc = desc; if (data != null) { shareImage = true; shareDataFilename = dataFilename + (type == SocialShareDataTypes.Image_PNG ? ".png" : ".jpg"); StreamManager.SaveFile(shareDataFilename, data, FolderLocations.Storage, imageSavedCallback); } else { imageSavedCallback(true); } #endif }