From dcf60777c9346ff058f06298d03173f0c53d1902 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 16 十二月 2020 20:42:15 +0800 Subject: [PATCH] 20201216-4 --- HDL_ON/Entity/Function/Light.cs | 188 +++++++++++++++++------------------------------ 1 files changed, 68 insertions(+), 120 deletions(-) diff --git a/HDL_ON/Entity/Function/Light.cs b/HDL_ON/Entity/Function/Light.cs index 48453e6..c6c9738 100644 --- a/HDL_ON/Entity/Function/Light.cs +++ b/HDL_ON/Entity/Function/Light.cs @@ -91,13 +91,13 @@ { if (trait_fadeTime == null) { - trait_fadeTime = attributes.Find((obj) => obj.key == "fade_time"); + trait_fadeTime = attributes.Find((obj) => obj.key == FunctionAttributeKey.FadeTime); //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� if (trait_fadeTime == null) { trait_fadeTime = new FunctionAttributes() { - key = "fade_time", + key = FunctionAttributeKey.FadeTime, value = new List<string> { "up", "down" }, max = 10, min = 0, @@ -136,130 +136,78 @@ } } } + /// <summary> + /// 鑾峰彇rgb棰滆壊 + /// </summary> + /// <returns></returns> + public int GetRGBcolor() + { + if (trait_color == null) + { + trait_color = attributes.Find((obj) => obj.key == FunctionAttributeKey.RGB); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + 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"); - //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� - 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; } } } -- Gitblit v1.8.0