Example #1
0
        public PreviewInfo PreviewApplyStyle(ImageItem source, Slide contentSlide, 
            float slideWidth, float slideHeight, StyleOption option)
        {
            SetStyleOptions(option);
            SlideWidth = slideWidth;
            SlideHeight = slideHeight;

            var previewInfo = new PreviewInfo();
            var handler = CreateEffectsHandlerForPreview(source, contentSlide);

            // use thumbnail to apply, in order to speed up
            var fullSizeImgPath = source.FullSizeImageFile;
            var originalThumbnail = source.ImageFile;
            source.FullSizeImageFile = null;
            source.ImageFile = source.CroppedThumbnailImageFile ?? source.ImageFile;

            ApplyStyle(handler, source, isActualSize: false);

            // recover the source back
            source.FullSizeImageFile = fullSizeImgPath;
            source.ImageFile = originalThumbnail;
            handler.GetNativeSlide().Export(previewInfo.PreviewApplyStyleImagePath, "JPG",
                    GetPreviewWidth(), PreviewHeight);

            handler.Delete();
            return previewInfo;
        }
        public PreviewInfo PreviewApplyStyle(ImageItem source, Slide contentSlide, 
            float slideWidth, float slideHeight, StyleOption option)
        {
            Logger.Log("PreviewApplyStyle begins");
            SetStyleOptions(option);
            SlideWidth = slideWidth;
            SlideHeight = slideHeight;

            var previewInfo = new PreviewInfo();
            EffectsDesignerForPreview.PreparePreviewing(contentSlide, slideWidth, slideHeight, source);

            // use thumbnail to apply, in order to speed up
            source.BackupFullSizeImageFile = source.FullSizeImageFile;
            var backupImageFile = source.ImageFile;
            source.FullSizeImageFile = null;
            source.ImageFile = source.CroppedThumbnailImageFile ?? source.ImageFile;

            GenerateStyle(EffectsDesignerForPreview, source, isActualSize: false);

            // recover the source back
            source.FullSizeImageFile = source.BackupFullSizeImageFile;
            source.ImageFile = backupImageFile;
            EffectsDesignerForPreview.GetNativeSlide().Export(previewInfo.PreviewApplyStyleImagePath, "JPG",
                    GetPreviewWidth(), PreviewHeight);
            Logger.Log("PreviewApplyStyle done");
            return previewInfo;
        }
 private void UpdateStylesVariationImages(ImageItem source, Slide contentSlide,
     float slideWidth, float slideHeight, bool isMockPreviewImages = false)
 {
     Logger.Log("UpdateStylesVariationImages begins");
     var copiedPicture = LoadClipboardPicture();
     try
     {
         if (isMockPreviewImages)
         {
             Logger.Log("Generate mock images for Picture aspect");
         }
         Logger.Log("Number of styles: " + _styleOptions.Count);
         for (var i = 0; i < _styleOptions.Count; i++)
         {
             var styleOption = _styleOptions[i];
             PreviewInfo previewInfo;
             if (isMockPreviewImages)
             {
                 previewInfo = new PreviewInfo
                 {
                     PreviewApplyStyleImagePath = StoragePath.NoPicturePlaceholderImgPath
                 };
             }
             else
             {
                 previewInfo = Designer.PreviewApplyStyle(
                     IsInPictureVariation()
                         ? _8PicturesInPictureVariation[i]
                         : source,
                     contentSlide, slideWidth, slideHeight, styleOption);
             }
             StylesVariationList.Add(new ImageItem
             {
                 ImageFile = previewInfo.PreviewApplyStyleImagePath,
                 Tooltip = styleOption.OptionName
             });
         }
         GC.Collect();
     }
     catch (Exception e)
     {
         View.ShowErrorMessageBox(TextCollection.PictureSlidesLabText.ErrorImageCorrupted, e);
         Logger.LogException(e, "UpdateStylesVariationImages");
     }
     SaveClipboardPicture(copiedPicture);
     Logger.Log("UpdateStylesVariationImages done");
 }