Пример #1
0
        /// <summary>
        /// Processes a ScreenShot and creates an Ambilight Effect for the keyboard
        /// </summary>
        /// <param name="newImage">ScreenShot</param>
        internal void Process(Bitmap newImage)
        {
            Bitmap map = ImageManipulation.ResizeImage(newImage, settings.KeyboardWidth, settings.KeyboardHeight, settings.UltrawideModeBool);

            map           = ImageManipulation.ApplySaturation(map, settings.Saturation);
            _keyboardGrid = KeyboardCustom.Create();
            _keyboardGrid = GenerateKeyboardGrid(map, _keyboardGrid);
            Chroma.Instance.Keyboard.SetCustom(_keyboardGrid);
        }
Пример #2
0
        static void Main(string[] args)
        {
            String data = Environment.GetEnvironmentVariable("BUILD-WATCHER-DATA");

            Console.WriteLine("Data = " + data);

            JObject o = JObject.Parse(data);

            JArray tags = (JArray)o["tags"];
            var    grid = KeyboardCustom.Create();

            grid.Clear();
            int index = 0;

            for (var r = 0; r < Constants.MaxRows; r++)
            {
                for (var c = 2; c < Constants.MaxColumns; c++)
                {
                    if (index < tags.Count)
                    {
                        ColoreColor color;
                        var         tag    = tags[index];
                        string      status = (string)tag["status"];
                        if (status == "Green")
                        {
                            color = ColoreColor.Green;
                        }
                        else if (status == "Red")
                        {
                            color = ColoreColor.Red;
                        }
                        else
                        {
                            color = ColoreColor.Orange;
                        }
                        grid[r, c] = color;
                    }
                    index++;
                }
            }

            Chroma.Instance.Keyboard.Clear();
            Chroma.Instance.Keyboard.SetCustom(grid);

            //    Chroma.Instance.Keyboard.SetAll(ColoreColor.White);
            // Chroma.Instance.Keyboard.SetKey(Key.F1, ColoreColor.Green);
            //    Chroma.Instance.Keyboard.SetKey(Key.F2, ColoreColor.Red);
        }
Пример #3
0
        /// <summary>
        /// From a given resized screenshot, an ambilight effect will be created for the keyboard
        /// </summary>
        /// <param name="map">resized screenshot</param>
        /// <param name="keyboardGrid">effect grid</param>
        /// <returns>EffectGrid</returns>
        private KeyboardCustom GenerateKeyboardGrid(Bitmap map, KeyboardCustom keyboardGrid)
        {
            //Iterating over each key and set it to the corrosponding color of the resized Screenshot
            for (var r = 0; r < settings.KeyboardHeight; r++)
            {
                for (var c = 0; c < settings.KeyboardWidth; c++)
                {
                    System.Drawing.Color color;

                    if (settings.AmbiModeBool)
                    {
                        color = map.GetPixel(c, settings.KeyboardHeight - 1);
                    }
                    else
                    {
                        color = map.GetPixel(c, r);
                    }

                    keyboardGrid[r, c] = new ColoreColor((byte)color.R, (byte)color.G, (byte)color.B);
                }
            }

            return(keyboardGrid);
        }