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;
}
}
}