title: Tint is inverting colors in swift
body: <p>I'm trying out this code to tint color a UIImage but it seems to be inverting the colors - coloring the background and turning the black stroke to white.</p>
  
  <p>How do I have it color the black stroke lines of an image and leave the white background alone?  Here's a playground sample where I try one technique as well as another one suggested by the first answer.</p>
  
  <p>Playground Code</p>
  
  <pre><code> extension UIImage {
  
      func tint(color: UIColor, blendMode: CGBlendMode = CGBlendMode.Normal) -&gt; UIImage
      {
          UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale);
          let context = UIGraphicsGetCurrentContext();
          CGContextTranslateCTM(context, 0, self.size.height);
          CGContextScaleCTM(context, 1.0, -1.0);
          CGContextSetBlendMode(context, blendMode);
          let rect = CGRectMake(0, 0, self.size.width, self.size.height);
          CGContextClipToMask(context, rect, self.CGImage);
          color.setFill()
          CGContextFillRect(context, rect);
          let newImage = UIGraphicsGetImageFromCurrentImageContext();
          UIGraphicsEndImageContext();
          return newImage;
      }
  
      func tint2(color: UIColor, blendMode: CGBlendMode) -&gt; UIImage
      {
          let drawRect = CGRectMake(0.0, 0.0, size.width, size.height)
          UIGraphicsBeginImageContextWithOptions(size, false, scale)
          let context = UIGraphicsGetCurrentContext()
          CGContextClipToMask(context, drawRect, CGImage)
          color.setFill()
          UIRectFill(drawRect)
          drawInRect(drawRect, blendMode: blendMode, alpha: 1.0)
          let tintedImage = UIGraphicsGetImageFromCurrentImageContext()
          UIGraphicsEndImageContext()
          return tintedImage
      }
  
  }
  
  let stringUrl = "https://s3.amazonaws.com/neighbor-chat-assets/icons/avatar1000.png"
  
  let url = NSURL(string: stringUrl)
  
  let data = NSData(contentsOfURL: url!)
  
  var originalimage = UIImage(data: data!)
  
  var image = originalimage!.imageWithRenderingMode(.AlwaysTemplate).tint(UIColor.blueColor(), blendMode:.Normal)
  var image2 = originalimage!.imageWithRenderingMode(.AlwaysTemplate).tint2(UIColor.blueColor(), blendMode:.Normal)
  </code></pre>