title: UIImage PNG coloration
body: <p>I would like to color a PNG when user clicks on it.</p>
  
  <p>I found an example in Xcode <a href="https://stackoverflow.com/questions/3514066/how-to-tint-a-transparent-png-image-in-iphone" title="link">here</a> but when I try it in C# I can't Retrieve the image.</p>
  
  <p>Here is the code I wrote:</p>
  
  <pre><code>public UIImage DrawSelectedBorder(UIImage image)
  {
      UIGraphics.BeginImageContextWithOptions(image.Size, false, image.CurrentScale); // for correct resolution on retina, thanks @MobileVet
      CGContext context = UIGraphics.GetCurrentContext();
  
      context.TranslateCTM(0, image.Size.Height);
      context.ScaleCTM((System.nfloat)1.0, (System.nfloat)(-1.0));
  
      CGRect rect = new CGRect(0, 0, image.Size.Width, image.Size.Height);
  
      context.SetBlendMode(CGBlendMode.Normal);
      context.SetFillColor(UIColor.Black.CGColor);
      context.FillRect(rect);
  
  
      // draw original image
      context.SetBlendMode(CGBlendMode.Normal);
      context.DrawImage(rect,image.CGImage);
  
      // tint image (losing alpha) - the luminosity of the original image is preserved
      context.SetBlendMode(CGBlendMode.Color);
      context.FillRect(rect);
  
      // mask by alpha values of original image
      context.SetBlendMode(CGBlendMode.DestinationIn);
      context.DrawImage(rect, image.CGImage);
  
      UIImage coloredImage = UIGraphics.GetImageFromCurrentImageContext();
      UIGraphics.EndImageContext();
  
      return coloredImage;
  }
  </code></pre>