From c6012ef490622203d530a37b5c122651cc191923 Mon Sep 17 00:00:00 2001 From: yyc12345 Date: Wed, 26 Dec 2018 16:38:29 +0800 Subject: [PATCH] Add color support --- HFUTCourseSimulation/Course.cs | 4 ++++ HFUTCourseSimulation/HFUTCourseSimulation.csproj | 1 + HFUTCourseSimulation/ImageExport.cs | 11 +++++++++++ HFUTCourseSimulation/MainWindow.xaml | 4 ++++ HFUTCourseSimulation/MainWindow.xaml.cs | 15 ++++++++++++++- HFUTCourseSimulation/SimulationCore.cs | 2 +- 6 files changed, 35 insertions(+), 2 deletions(-) diff --git a/HFUTCourseSimulation/Course.cs b/HFUTCourseSimulation/Course.cs index ccee6b0..e654a44 100644 --- a/HFUTCourseSimulation/Course.cs +++ b/HFUTCourseSimulation/Course.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows.Media; namespace HFUTCourseSimulation { @@ -22,11 +23,13 @@ namespace HFUTCourseSimulation { public class CourseItem { public CourseItem() { + BkColor = Colors.LightBlue.ColorToInt(); this.Schedule = new List(); } public string Name { get; set; } public string Description { get; set; } + public int BkColor { get; set; } public List Schedule { get; set; } @@ -34,6 +37,7 @@ namespace HFUTCourseSimulation { var newobj = new CourseItem(); newobj.Name = this.Name; newobj.Description = this.Description; + newobj.BkColor = this.BkColor; newobj.Schedule = new List(); newobj.Schedule.AddRange((from item in this.Schedule select item.Clone())); return newobj; diff --git a/HFUTCourseSimulation/HFUTCourseSimulation.csproj b/HFUTCourseSimulation/HFUTCourseSimulation.csproj index cc4635b..2759d81 100644 --- a/HFUTCourseSimulation/HFUTCourseSimulation.csproj +++ b/HFUTCourseSimulation/HFUTCourseSimulation.csproj @@ -39,6 +39,7 @@ + diff --git a/HFUTCourseSimulation/ImageExport.cs b/HFUTCourseSimulation/ImageExport.cs index e59ae37..a917790 100644 --- a/HFUTCourseSimulation/ImageExport.cs +++ b/HFUTCourseSimulation/ImageExport.cs @@ -113,6 +113,17 @@ namespace HFUTCourseSimulation { public static System.Drawing.Color ConvertWPFColor(this System.Windows.Media.Color c) { return System.Drawing.Color.FromArgb(c.A, c.R, c.G, c.B); } + public static System.Windows.Media.Color ConvertWinformColor(this System.Drawing.Color c) { + return System.Windows.Media.Color.FromArgb(c.A, c.R, c.G, c.B); + } + public static int ColorToInt(this System.Windows.Media.Color c) { + return (c.R << 16) + (c.G << 8) + c.B; + } + public static System.Windows.Media.Color IntToColor(this int num) { + var cache = (num >> 16) << 16; + var cache2 = (num >> 8) << 8; + return System.Windows.Media.Color.FromArgb(255, (byte)(num >> 16), (byte)((cache2 - cache) >> 8), (byte)(num - cache2)); + } } } diff --git a/HFUTCourseSimulation/MainWindow.xaml b/HFUTCourseSimulation/MainWindow.xaml index 16d6237..fe5846c 100644 --- a/HFUTCourseSimulation/MainWindow.xaml +++ b/HFUTCourseSimulation/MainWindow.xaml @@ -73,6 +73,10 @@ + + +