public static UIImage ApplyTintEffect (this UIImage self, UIColor tintColor)
		{
			const float EffectColorAlpha = 0.6f;
			var effectColor = tintColor;
			nfloat alpha;
			var componentCount = tintColor.CGColor.NumberOfComponents;
			if (componentCount == 2) {
				nfloat white;
				if (tintColor.GetWhite (out white, out alpha))
					effectColor = UIColor.FromWhiteAlpha (white, EffectColorAlpha);
			} else {
				try {
					nfloat r, g, b;
					tintColor.GetRGBA (out r, out g, out b, out alpha);
					effectColor = UIColor.FromRGBA (r, g, b, EffectColorAlpha);
				} catch {
				}
			}
			return ApplyBlur (self, blurRadius: 10, tintColor: effectColor, saturationDeltaFactor: -1, maskImage: null);
		}
 public static UIImage ApplyTintEffectWithColor(this UIImage image, UIColor tintColor)
 {
     const float EFFECT_COLOR_ALPHA = 0.6f;
      UIColor effectColor = tintColor;
      nint componentCount = tintColor.CGColor.NumberOfComponents;
      if (componentCount == 2)
      {
     nfloat b, a;
     if (tintColor.GetWhite (out b, out a))
     {
        effectColor = UIColor.FromWhiteAlpha (b, EFFECT_COLOR_ALPHA);
     }
      }
      else
      {
     nfloat r, g, b, a;
     try
     {
        tintColor.GetRGBA (out r, out g, out b, out a);
        effectColor = UIColor.FromRGBA (r, g, b, EFFECT_COLOR_ALPHA);
     }
     catch
     {
     }
      }
      return ApplyBlur (image, 10f, effectColor, -1.0f, null);
 }