Shadowsocks.View.MenuViewController.getTrayIconByState C# (CSharp) Méthode

getTrayIconByState() private méthode

private getTrayIconByState ( Bitmap originIcon, bool enabled, bool global ) : Bitmap
originIcon System.Drawing.Bitmap
enabled bool
global bool
Résultat System.Drawing.Bitmap
        private Bitmap getTrayIconByState(Bitmap originIcon, bool enabled, bool global)
        {
            Bitmap iconCopy = new Bitmap(originIcon);
            for (int x = 0; x < iconCopy.Width; x++)
            {
                for (int y = 0; y < iconCopy.Height; y++)
                {
                    Color color = originIcon.GetPixel(x, y);
                    if (color.A != 0)
                    {
                        if (!enabled)
                        {
                            Color flyBlue = Color.FromArgb(192, 192, 192);
                            // Multiply with flyBlue
                            int red = color.R * flyBlue.R / 255;
                            int green = color.G * flyBlue.G / 255;
                            int blue = color.B * flyBlue.B / 255;
                            iconCopy.SetPixel(x, y, Color.FromArgb(color.A, red, green, blue));
                        }
                        else if (global)
                        {
                            Color flyBlue = Color.FromArgb(25, 125, 191);
                            // Multiply with flyBlue
                            int red   = color.R * flyBlue.R / 255;
                            int green = color.G * flyBlue.G / 255;
                            int blue  = color.B * flyBlue.B / 255;
                            iconCopy.SetPixel(x, y, Color.FromArgb(color.A, red, green, blue));
                        }
                    }
                    else
                    {
                        iconCopy.SetPixel(x, y, Color.FromArgb(color.A, color.R, color.G, color.B));
                    }
                }
            }
            return iconCopy;
        }
MenuViewController