Ejemplo n.º 1
0
        /// <summary>
        /// Convert a slide as image
        /// </summary>
        /// <param name="slide">The slide to be converted</param>
        /// <returns></returns>
        private async Task <String> ConvertSlide(ISlide slide)
        {
            string mainImageFileName;
            string thumbImageFileName;

            if (_presentation.Slides[0].SlideNumber > 0)
            {
                mainImageFileName  = "Slide " + slide.SlideNumber.ToString() + ".jpg";
                thumbImageFileName = "ThumbSlide " + slide.SlideNumber.ToString() + ".jpg";
            }
            else
            {
                mainImageFileName  = "Slide " + (slide.SlideNumber + 1) + ".jpg";
                thumbImageFileName = "ThumbSlide " + (slide.SlideNumber + 1) + ".jpg";
            }
            StorageFile mainImageStorageFile = await _localFolder.CreateFileAsync(mainImageFileName, CreationCollisionOption.ReplaceExisting);

            StorageFile thumbImageStorageFile = await _localFolder.CreateFileAsync(thumbImageFileName, CreationCollisionOption.ReplaceExisting);

            RenderingOptions options = new RenderingOptions()
            {
                ScaleX = 0.25f, ScaleY = 0.25f
            };
            await slide.SaveAsImageAsync(mainImageStorageFile, _cancellationToken.Token);

            await slide.SaveAsImageAsync(thumbImageStorageFile, options, _cancellationToken.Token);

            if (LoadingStatusCanvas != null && slide.SlideNumber == _slideCount)
            {
                LoadingStatusCanvas.Visibility = Visibility.Collapsed;
            }
            _convertedSlides = slide.SlideNumber;
            return(mainImageStorageFile.Path);
        }