Пример #1
0
        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));
                }
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
        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();
            }
        }
Пример #5
0
        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
        }