Example #1
0
        private void colourSet()
        {
            Bitmap bmp = new Bitmap(1, 1);

            System.Net.WebRequest request =
                System.Net.WebRequest.Create(currentL);
            System.Net.WebResponse response       = request.GetResponse();
            System.IO.Stream       responseStream = response.GetResponseStream();

            Bitmap orig = new Bitmap(responseStream);

            using (Graphics g = Graphics.FromImage(bmp))
            {
                // updated: the Interpolation mode needs to be set to
                // HighQualityBilinear or HighQualityBicubic or this method
                // doesn't work at all.  With either setting, the results are
                // slightly different from the averaging method.
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.DrawImage(orig, new System.Drawing.Rectangle(0, 0, 1, 1));
            }
            System.Drawing.Color pixel = bmp.GetPixel(0, 0);
            byte r  = pixel.R;
            byte ge = pixel.G;
            byte b  = pixel.B;

            // pixel will contain average values for entire orig Bitmap
            System.Drawing.Color myColor = System.Drawing.Color.FromArgb(Convert.ToInt32(r), Convert.ToInt32(ge), Convert.ToInt32(b));
            string hex = myColor.R.ToString("X2") + myColor.G.ToString("X2") + myColor.B.ToString("X2");

            console_box.Text        += hex + "\n";
            console_label.Background = (SolidColorBrush)(new BrushConverter().ConvertFrom("#" + hex));
            HomeScreen.Background    = (SolidColorBrush)(new BrushConverter().ConvertFrom("#" + hex));
            string background = "#" + hex;
            int    red        = Convert.ToInt32(r);
            int    green      = Convert.ToInt32(ge);
            int    blue       = Convert.ToInt32(b);

            if (red < 50)
            {
                red = 0;
            }
            else
            {
                red = red - 50;
            }
            if (green < 50)
            {
                green = 0;
            }
            else
            {
                green = green - 50;
            }
            if (blue < 50)
            {
                blue = 0;
            }
            else
            {
                blue = blue - 50;
            }
            System.Drawing.Color myColor1 = System.Drawing.Color.FromArgb(red, green, blue);
            hex = myColor1.R.ToString("X2") + myColor1.G.ToString("X2") + myColor1.B.ToString("X2");
            MainWindow.updateColor("#" + hex, background);
            PrivateView.updateColor("#" + hex);
            SettingsView.updateColor(background);
        }