コード例 #1
0
        /// <summary>
        /// Lấy chủ đề
        /// </summary>
        /// <param name="design"></param>
        /// <param name="count"></param>
        /// <returns></returns>
        public ETheme GetETheme(pp.Design design, int count)
        {
            ETheme etheme = new ETheme();

            etheme.Name      = design.Name;
            etheme.ID        = ObjectElementsHelper.RandomString(10);
            etheme.ThemeName = design.Name;
            EColorManagment eColorManagment = new EColorManagment();

            eColorManagment     = GetEColorManagment(design.SlideMaster.Theme.ThemeColorScheme);
            etheme.Colors       = eColorManagment;
            etheme.SelectedFont = GetFontTheme(design.SlideMaster.Theme.ThemeFontScheme);
            ESlideMaster eSlideMaster = new ESlideMaster();

            eSlideMaster.ThemesName = etheme.Name;
            eSlideMaster.Name       = etheme.Name;
            eSlideMaster.MainLayer  = new PageLayer();
            SlideMasterPart slideMasterPart = GetSlideMasterPart(count);

            eSlideMaster.MainLayer.Background = GetFillColorSlideMaster(design.SlideMaster.Background.Fill, slideMasterPart.SlideMaster?.CommonSlideData, slideMasterPart);
            eSlideMaster.ID = ObjectElementsHelper.RandomString(12);
            foreach (pp.Shape shape in design.SlideMaster.Shapes)
            {
                eSlideMaster.MainLayer.Children.Add(GetShape(shape, shape.Type, design.SlideMaster.TimeLine, slideMasterPart));
            }
            SetIsBackgroundShape(eSlideMaster.MainLayer);

            int countLayoutMaster = 0;

            foreach (pp.CustomLayout layout in design.SlideMaster.CustomLayouts)
            {
                SlideLayoutPart slideLayoutPart = GetSlideLayoutPart(countLayoutMaster++, slideMasterPart);
                ELayoutMaster   eLayoutMaster   = new ELayoutMaster();
                eLayoutMaster.ID                   = ObjectElementsHelper.RandomString(13);
                eLayoutMaster.MainLayer            = new PageLayer();
                eLayoutMaster.MainLayer.Background = GetFillColorSlideMaster(layout.Background.Fill, slideLayoutPart.SlideLayout?.CommonSlideData, slideLayoutPart);
                if (eLayoutMaster.MainLayer.Background == null)
                {
                    eLayoutMaster.MainLayer.Background = eSlideMaster.MainLayer.Background;
                }
                foreach (pp.Shape shape in layout.Shapes)
                {
                    eLayoutMaster.MainLayer.Children.Add(GetShape(shape, shape.Type, design.SlideMaster.TimeLine, slideLayoutPart));
                }
                SetIsBackgroundShape(eLayoutMaster.MainLayer);
                eLayoutMaster.SlideName        = layout.Name;
                eLayoutMaster.LayoutName       = layout.Name;
                eLayoutMaster.IsHideBackground = layout.DisplayMasterShapes != MsoTriState.msoTrue;

                eSlideMaster.LayoutMasters.Add(eLayoutMaster);
            }

            etheme.SlideMasters.Add(eSlideMaster);
            return(etheme);
        }
コード例 #2
0
        /// <summary>
        /// Lấy màu của theme
        /// </summary>
        /// <param name="colorScheme"></param>
        /// <returns></returns>
        public EColorManagment GetEColorManagment(ThemeColorScheme colorScheme)
        {
            EColorManagment eColor = new EColorManagment();

            eColor.Accent1           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent1);
            eColor.Accent2           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent2);
            eColor.Accent3           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent3);
            eColor.Accent4           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent4);
            eColor.Accent5           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent5);
            eColor.Accent6           = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeAccent6);
            eColor.BackgroundDark1   = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeDark1);
            eColor.BackgroundDark2   = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeDark2);
            eColor.BackgroundLight1  = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeLight1);
            eColor.BackgroundLight2  = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeLight2);
            eColor.Hyperlink         = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeHyperlink);
            eColor.FollowedHyperlink = GetSolidColor(colorScheme, MsoThemeColorSchemeIndex.msoThemeFollowedHyperlink);
            ////Lấy color accent 1
            //Core.Model.SolidColor color = new Core.Model.SolidColor();
            //color.Brightness = 1;
            //color.Color = color

            return(eColor);
        }
コード例 #3
0
        private static void DataCallBack(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            Global.BeginInit();
            CanvasThemeNormalViewThumbnail _owner = d as CanvasThemeNormalViewThumbnail;

            _owner.Background = Brushes.Transparent;
            EColorManagment eColorManagment = new EColorManagment();

            //  (Application.Current as IAppGlobal).SelectedTheme.Colors = _owner.Data.Colors;
            _owner.Children.Clear();
            //Thêm các hình nền
            foreach (ObjectElementBase item in _owner.Data.SlideMasters[0].MainLayer.Children)
            {
                if (item.ToString() == (typeof(EStandardElement)).ToString() || item is EImageContent)
                {
                    var _standardElement = ObjectElementsHelper.LoadData(item);
                    if (_standardElement != null)
                    {
                        if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent1").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent1.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        else if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent2").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent2.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        else if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent3").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent3.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        else if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent4").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent4.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        else if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent5").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent5.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        else if ((_standardElement as StandardElement).Fill.ColorSpecialName == System.Windows.Application.Current.TryFindResource("ColorGallery_Accent6").ToString())
                        {
                            Binding biding = new Binding("Colors.Accent6.Color");
                            biding.Source    = _owner.Data;
                            biding.Converter = new StringToColorBaseConverter();
                            (_standardElement as StandardElement).SetBinding(StandardElement.FillProperty, biding);
                        }
                        _owner.Children.Add(_standardElement);
                    }
                }
            }

            //Thêm các rectangle hiển thị màu
            Rectangle rectangle = new Rectangle();

            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 130);
            Canvas.SetTop(rectangle, 420);
            Binding binding = new Binding("Colors.Accent1.Color");

            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            rectangle        = new Rectangle();
            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 260);
            Canvas.SetTop(rectangle, 420);
            binding        = new Binding("Colors.Accent2.Color");
            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            rectangle        = new Rectangle();
            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 390);
            Canvas.SetTop(rectangle, 420);
            binding        = new Binding("Colors.Accent3.Color");
            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            rectangle        = new Rectangle();
            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 520);
            Canvas.SetTop(rectangle, 420);
            binding        = new Binding("Colors.Accent4.Color");
            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            rectangle        = new Rectangle();
            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 650);
            Canvas.SetTop(rectangle, 420);
            binding        = new Binding("Colors.Accent5.Color");
            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            rectangle        = new Rectangle();
            rectangle.Width  = 120;
            rectangle.Height = 50;
            Panel.SetZIndex(rectangle, 100);
            Canvas.SetLeft(rectangle, 780);
            Canvas.SetTop(rectangle, 420);
            binding        = new Binding("Colors.Accent6.Color");
            binding.Source = _owner.Data;
            rectangle.SetBinding(Rectangle.FillProperty, binding);
            _owner.Children.Add(rectangle);

            //Thêm các text hiển thị font
            TextBlock textBlock = new TextBlock();

            textBlock.Text     = "A";
            textBlock.FontSize = 150;
            binding            = new Binding("SelectedFont.MajorFont");
            binding.Source     = _owner.Data;
            textBlock.SetBinding(TextBlock.FontFamilyProperty, binding);
            Canvas.SetLeft(textBlock, 180);
            Canvas.SetTop(textBlock, 250);
            Panel.SetZIndex(textBlock, 100);
            _owner.Children.Add(textBlock);

            textBlock          = new TextBlock();
            textBlock.Text     = "a";
            textBlock.FontSize = 150;
            binding            = new Binding("SelectedFont.MinorFont");
            binding.Source     = _owner.Data;
            textBlock.SetBinding(TextBlock.FontFamilyProperty, binding);
            Canvas.SetLeft(textBlock, 290);
            Canvas.SetTop(textBlock, 250);
            Panel.SetZIndex(textBlock, 100);
            _owner.Children.Add(textBlock);
            Global.EndInit();
        }
コード例 #4
0
 public SlideMasterColorChangedStep(EColorManagment oldColor, EColorManagment newColor)
 {
     OldColor = oldColor;
     NewColor = newColor;
 }