用Graphic畫出漸層色

靜態變數,外面只要使用,病傳入正確參數即可

靜態變數,外面只要使用,病傳入正確參數即可



        public static void vDrawLineGradient(System.Drawing.Graphics _G,//要用的Graphics
                                             double _dLightPoint,//最亮點在區塊的比例
                                             System.Drawing.Color _BaseColor,//基礎顏色
                                             int _iStartAlpha,//顏色開始的Alpha值
                                             int _iLightAlpha,//顏色最亮點的Alpha值
                                             int _iDarkAlpha,//顏色最暗點的Alpha值
                                             int _iAlphaLevel,//Aplha增量
                                             int _iLineWidth,//同色寬度
                                             System.Drawing.Rectangle _DrawRect)//繪圖區塊
        {
            if (_iLightAlpha < 0)
                _iLightAlpha = 0;
            if (_iDarkAlpha > 255)
                _iDarkAlpha = 255;
            if (_iStartAlpha < 0)
                _iStartAlpha = 0;
            if (_iStartAlpha > 255)
                _iStartAlpha = 255;
            for (int iMove = 0, iAlpha = _iStartAlpha; iMove < _DrawRect.Height; iMove += _iLineWidth)
            {
                _G.DrawLine(new System.Drawing.Pen(System.Drawing.Color.FromArgb(iAlpha, _BaseColor), _iLineWidth), _DrawRect.Left, _DrawRect.Top + iMove, _DrawRect.Right, _DrawRect.Top + iMove);
                if (iMove < _DrawRect.Height * _dLightPoint)
                {
                    iAlpha -= _iAlphaLevel;
                    if (iAlpha < _iLightAlpha)
                        iAlpha = _iLightAlpha;
                }
                else
                {
                    iAlpha += _iAlphaLevel;
                    if (iAlpha > _iDarkAlpha)
                        iAlpha = _iDarkAlpha;
                }
            }
 
        }