private void UserControl_Loaded(object sender, RoutedEventArgs e) { //获取主题深色 SolidColorBrush PrimaryHueDarkBrush = FindResource("PrimaryHueLightBrush") as SolidColorBrush; using (MagickImage image = new MagickImage(BitmapUtils.ConvertImageSourceToBitmap(Image_trackLogo.Source))) { image.Evaluate(Channels.Red, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.R); image.Evaluate(Channels.Green, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.G); image.Evaluate(Channels.Blue, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.B); // 重新给Image控件赋值新图像 Image_trackLogo.Source = image.ToBitmapSource(); } //获取窗体句柄 IntPtr hwnd = ((HwndSource)PresentationSource.FromVisual(this)).Handle; //通过视觉树,向上查找到Window var result = CusVisualTreeHelper.FindVisualParent <Window>(this); if (result.Count == 1) { _Window = result[0]; } }
/// <summary> /// 界面加载时,赋予图片主题色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_Loaded(object sender, RoutedEventArgs e) { //获取主题深色 SolidColorBrush PrimaryHueDarkBrush = FindResource("PrimaryHueDarkBrush") as SolidColorBrush; using (MagickImage image = new MagickImage(BitmapUtils.ConvertImageSourceToBitmap(image_Logo.Source))) { image.Evaluate(Channels.Red, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.R); image.Evaluate(Channels.Green, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.G); image.Evaluate(Channels.Blue, EvaluateOperator.Set, PrimaryHueDarkBrush.Color.B); // 重新给Image控件赋值新图像 image_Logo.Source = image.ToBitmapSource(); } }