public static Color GetRadiallyBlurred(int row, int col, Color sourceColor, 
            int centerRow, int centerCol, Color blurColor, 
            double maxRadius, RadialEffectDirection direction)
        {
            int xDist = centerRow - row,
                yDist = centerCol - col;
            double dist = Math.Sqrt(xDist * xDist + yDist * yDist);

            double effectWeight;
            if(direction == RadialEffectDirection.IncreaseTowardsBorder)
            {
                effectWeight = Math.Min(dist, maxRadius) / maxRadius;
            } else
            {
                effectWeight = 1 - (Math.Min(dist, maxRadius) / maxRadius);
            }

            return Blend(sourceColor, blurColor, effectWeight);
        }
        public static Color GetRadiallyBlurred(int row, int col, Color sourceColor,
                                               int centerRow, int centerCol, Color blurColor,
                                               double maxRadius, RadialEffectDirection direction)
        {
            int xDist   = centerRow - row,
                yDist   = centerCol - col;
            double dist = Math.Sqrt(xDist * xDist + yDist * yDist);

            double effectWeight;

            if (direction == RadialEffectDirection.IncreaseTowardsBorder)
            {
                effectWeight = Math.Min(dist, maxRadius) / maxRadius;
            }
            else
            {
                effectWeight = 1 - (Math.Min(dist, maxRadius) / maxRadius);
            }

            return(Blend(sourceColor, blurColor, effectWeight));
        }