| | |
| | | { |
| | | if (trait_fadeTime == null) |
| | | { |
| | | trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time"); |
| | | trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); |
| | | //找不到属性需要声明一个,防止报错闪退 |
| | | if (trait_fadeTime == null) |
| | | { |
| | | trait_fadeTime = new FunctionAttributes() |
| | | { |
| | | key = "fade_time", |
| | | key = FunctionAttributeKey.FadeTime, |
| | | value = new List<string> { "up", "down" }, |
| | | max = 10, |
| | | min = 0, |
| | |
| | | } |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 获取rgb颜色 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public int GetRGBcolor() |
| | | { |
| | | if (trait_color == null) |
| | | { |
| | | trait_color = attributes.Find((obj) => obj.key == FunctionAttributeKey.RGB); |
| | | //找不到属性需要声明一个,防止报错闪退 |
| | | if (trait_color == null) |
| | | { |
| | | trait_color = new FunctionAttributes() |
| | | { |
| | | key = "color", |
| | | value = new List<string> { "255,255,255" }, |
| | | curValue = "255,255,255" |
| | | }; |
| | | } |
| | | if (trait_color.curValue.ToString() == "{}") |
| | | trait_color.curValue = "255,255,255"; |
| | | int.TryParse(trait_color.curValue.ToString().Split(",")[0], out redColor); |
| | | int.TryParse(trait_color.curValue.ToString().Split(",")[1], out greenColor); |
| | | int.TryParse(trait_color.curValue.ToString().Split(",")[2], out blueColor); |
| | | } |
| | | |
| | | int recolor = redColor * 256 * 256 + greenColor * 256 + blueColor; |
| | | |
| | | return recolor; |
| | | } |
| | | /// <summary> |
| | | /// 获取rgb 控制字符串 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public string GetRGBcolorString() |
| | | { |
| | | return redColor + "," + greenColor + "," + blueColor; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设置rgb颜色 |
| | | /// </summary> |
| | | public void SetRGBcolor(byte[] color) |
| | | { |
| | | redColor = color[0]; |
| | | greenColor = color[1]; |
| | | blueColor = color[2]; |
| | | } |
| | | |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public FunctionAttributes trait_color; |
| | | /// <summary> |
| | | /// RGB颜色 |
| | | /// 255255255 |
| | | /// </summary> |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int color |
| | | int redColor = 255; |
| | | int greenColor = 255; |
| | | int blueColor = 255; |
| | | |
| | | public int RedColor { |
| | | get |
| | | { |
| | | return redColor; |
| | | } |
| | | } |
| | | public int GreenColor { |
| | | get |
| | | { |
| | | return greenColor; |
| | | } |
| | | } |
| | | public int BlueColor |
| | | { |
| | | get |
| | | { |
| | | if (trait_color == null) |
| | | { |
| | | trait_color = attributes.Find((obj) => obj.key == "color"); |
| | | //找不到属性需要声明一个,防止报错闪退 |
| | | if (trait_color == null) |
| | | { |
| | | trait_color = new FunctionAttributes() |
| | | { |
| | | key = "color", |
| | | value = new List<string> { "FFFFFF" }, |
| | | max = 0xFFFFFF, |
| | | min = 0x00000F, |
| | | curValue = 0x00000F |
| | | }; |
| | | } |
| | | if (trait_color.curValue.ToString() == "{}") |
| | | trait_color.curValue = 0x00000F; |
| | | } |
| | | return Convert.ToInt32(trait_color.curValue); |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | trait_color.curValue = value; |
| | | } |
| | | catch |
| | | { |
| | | MainPage.Log("color 数据刷新失败."); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int redColor |
| | | { |
| | | get { |
| | | try |
| | | { |
| | | return color >> 16; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get red color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | var rc = value << 16; |
| | | color = rc + (color & 0xFFFF); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set red color error : {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int greenColor |
| | | { |
| | | get |
| | | { |
| | | try |
| | | { |
| | | return (color & 0xFFFF) >> 8; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get green color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | var gc = value << 8; |
| | | color = gc + (color & 0xFF00FF); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set green color error : {ex.Message}"); |
| | | } |
| | | } |
| | | } |
| | | [Newtonsoft.Json.JsonIgnore] |
| | | public int blueColor |
| | | { |
| | | get |
| | | { |
| | | try |
| | | { |
| | | return color & 0xFF; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"Get blue color error : {ex.Message}"); |
| | | return 0; |
| | | } |
| | | } |
| | | set |
| | | { |
| | | try |
| | | { |
| | | color = value + (color & 0xFFFF00); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"set blue color error : {ex.Message}"); |
| | | } |
| | | return blueColor; |
| | | } |
| | | } |
| | | } |