/// <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); }
/// <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); }
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(); }
public SlideMasterColorChangedStep(EColorManagment oldColor, EColorManagment newColor) { OldColor = oldColor; NewColor = newColor; }