namespace AudioWallpaper.Entity { [Serializable] public class GeneralConfigurationObjects { /// /// 律动默认激进倍率 /// public float DefaultRadical = 2f; /// /// 默认频谱偏移量 /// public float DefaultOffset = 0.4f; /// /// 默认傅里叶变化量 /// public int DefaultFourierVariation = 512; /// /// 窗体函数 /// public string ApplyWindowFunc = "BARTLETT"; /// /// 默认颜色 /// public Color DefaultColor = Color.Blue; /// /// 默认停止颜色 /// public Color DefaultStopColor = Color.Red; /// /// 是否使用系统默认颜色 /// public bool UseDefaultColorOrNOt = true; /// /// 默认颜色数量 /// public int NumberOfColors = 256; /// /// 是否单色显示 /// public bool MonochromeOrNot = false; /// /// 默认背景颜色 /// public Color BackgroundColor = Color.Black; /// /// 是否使用背景图 /// public bool BackImgOrNot = false; /// /// 背景图片地址 /// public string? BackgroundImagePath = null; /// /// 是否画出波浪线 /// public bool WavyLine = true; /// /// 是否画出边框 /// public bool Frame = true; /// /// 是否画出中间圆形 /// public bool Rotundity = true; /// /// 是否平滑过渡中间圆形边条 /// public bool SmoothRotundity = true; /// /// 中间圆形边条间距 /// public uint RotunditySpacing = 3; /// /// 是否画出底边条形 /// public bool Stripe = true; /// /// 是否平滑过渡底边条形 /// public bool SmoothStripe = true; /// /// 底边条形间距 /// public uint StripeSpacing = 3; /// /// 显示器设备名 /// public string SettingForScreenName = ""; /// /// 当前显示器是否显示壁纸 /// public bool IsShow = true; /// /// 是否使用统一配置 /// public bool IsUsingUnifiedConfiguration = false; /// /// 当有其它程序全屏时是否停止壁纸 /// public bool AutoStopWallPaper = false; /// /// 配置名 /// public string DefaultConfiguration = "DefaultConfiguration"; public bool SaveConfig(string configFilePath) { //创建配置工具对象 ConfigurationTools configurationTools = new ConfigurationTools(configFilePath); string ConfigName = SettingForScreenName + "_" + DefaultConfiguration; #region 将配置文件添加到配置工具对象中 //默认律动激进倍率 configurationTools.AddSetting(ConfigName, "DefaultRadical", DefaultRadical.ToString()); //默认频谱偏移量 configurationTools.AddSetting(ConfigName, "DefaultOffset", DefaultOffset.ToString()); //默认傅里叶变化量 configurationTools.AddSetting(ConfigName, "DefaultFourierVariation", DefaultFourierVariation.ToString()); //窗体函数 configurationTools.AddSetting(ConfigName, "ApplyWindowFunc", ApplyWindowFunc); //默认开始颜色 configurationTools.AddSetting(ConfigName, "DefaultColor", ColorTranslator.ToHtml(DefaultColor)); //默认停止颜色 configurationTools.AddSetting(ConfigName, "DefaultStopColor", ColorTranslator.ToHtml(DefaultStopColor)); //是否使用默认颜色 configurationTools.AddSetting(ConfigName, "UseDefaultColorOrNOt", UseDefaultColorOrNOt.ToString()); //颜色数量 configurationTools.AddSetting(ConfigName, "NumberOfColors", NumberOfColors.ToString()); //是否单色显示 configurationTools.AddSetting(ConfigName, "MonochromeOrNot", MonochromeOrNot.ToString()); //默认背景颜色 configurationTools.AddSetting(ConfigName, "BackgroundColor", ColorTranslator.ToHtml(BackgroundColor)); //是否使用背景图 configurationTools.AddSetting(ConfigName, "BackImgOrNot", BackImgOrNot.ToString()); //背景图地址 configurationTools.AddSetting(ConfigName, "BackgroundImagePath", BackgroundImagePath); //是否画出波浪线 configurationTools.AddSetting(ConfigName, "WavyLine", WavyLine.ToString()); //是否画出边框 configurationTools.AddSetting(ConfigName, "Frame", Frame.ToString()); //是否画出中间圆形 configurationTools.AddSetting(ConfigName, "Rotundity", Rotundity.ToString()); //是否平滑过渡中间圆形 configurationTools.AddSetting(ConfigName, "SmoothRotundity", SmoothRotundity.ToString()); //中间圆形条边距 configurationTools.AddSetting(ConfigName, "RotunditySpacing", RotunditySpacing.ToString()); //是否画出底边条形 configurationTools.AddSetting(ConfigName, "Stripe", Stripe.ToString()); //是否平滑过渡底边条形 configurationTools.AddSetting(ConfigName, "SmoothStripe", SmoothStripe.ToString()); //底边条形间距 configurationTools.AddSetting(ConfigName, "StripeSpacing", StripeSpacing.ToString()); //当前显示器名 configurationTools.AddSetting(ConfigName, "SettingForScreenName", SettingForScreenName); //是否启用 configurationTools.AddSetting(ConfigName, "IsShow", IsShow.ToString()); //是否使用统一配置 configurationTools.AddSetting(ConfigName, "IsUsingUnifiedConfiguration", IsUsingUnifiedConfiguration.ToString()); //当有其它程序全屏时是否停止壁纸 configurationTools.AddSetting(ConfigName, "AutoStopWallPaper", AutoStopWallPaper.ToString()); #endregion //保存配置 configurationTools.SaveSettings(); return true; } public GeneralConfigurationObjects LoadConfiguration(string configFilePath, string name) { //创建配置工具对象 ConfigurationTools configurationTools = new ConfigurationTools(configFilePath); string ConfigName = name + "_" + DefaultConfiguration; #region 为配置对象添加配置 try { //默认律动激进倍率 DefaultRadical = float.Parse(configurationTools.GetSetting(ConfigName, "DefaultRadical")); //默认频谱偏移量 DefaultOffset = float.Parse(configurationTools.GetSetting(ConfigName, "DefaultOffset")); //默认傅里叶变化量 DefaultFourierVariation = int.Parse(configurationTools.GetSetting(ConfigName, "DefaultFourierVariation")); //窗体函数 ApplyWindowFunc = configurationTools.GetSetting(ConfigName, "ApplyWindowFunc"); //默认颜色 DefaultColor = ColorTranslator.FromHtml(configurationTools.GetSetting(ConfigName, "DefaultColor")); //默认停止颜色 DefaultStopColor = ColorTranslator.FromHtml(configurationTools.GetSetting(ConfigName, "DefaultStopColor")); //是否使用默认颜色 UseDefaultColorOrNOt = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "UseDefaultColorOrNOt")); //颜色数量 NumberOfColors = int.Parse(configurationTools.GetSetting(ConfigName, "NumberOfColors")); //是否单色显示 MonochromeOrNot = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "MonochromeOrNot")); //默认背景颜色 BackgroundColor = ColorTranslator.FromHtml(configurationTools.GetSetting(ConfigName, "BackgroundColor")); //是否使用背景图 BackImgOrNot = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "BackImgOrNot")); //背景图地址 BackgroundImagePath = configurationTools.GetSetting(ConfigName, "BackgroundImagePath"); //是否画出波浪线 WavyLine = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "WavyLine")); //是否画出边框 Frame = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "Frame")); //是否画出中间圆形 Rotundity = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "Rotundity")); //是否平滑过渡中间圆形边条 SmoothRotundity = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "SmoothRotundity")); //中间圆形边条间距 RotunditySpacing = uint.Parse(configurationTools.GetSetting(ConfigName,"RotunditySpacing")); //是否画出底边条形 Stripe = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "Stripe")); //是否平滑过渡底边条形 SmoothStripe = Convert.ToBoolean(configurationTools.GetSetting(ConfigName,"SmoothStripe")); //底边条形间距 StripeSpacing = uint.Parse(configurationTools.GetSetting(ConfigName, "StripeSpacing")); //显示器名 SettingForScreenName = configurationTools.GetSetting(ConfigName, "SettingForScreenName"); //是否显示 IsShow = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "IsShow")); //是否使用统一配置 IsUsingUnifiedConfiguration = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "IsUsingUnifiedConfiguration")); //当有其它程序全屏时是否停止壁纸 AutoStopWallPaper = Convert.ToBoolean(configurationTools.GetSetting(ConfigName, "AutoStopWallPaper")); #endregion } catch (Exception) { return this; } return this; } } }