UIImage.swift 902 B

12345678910111213141516171819202122232425262728
  1. //
  2. // UIIMage.swift
  3. // Gasteizko Margolariak
  4. //
  5. // Created by Yuji Hato on 11/5/15.
  6. // Copyright © 2015 Yuji Hato. All rights reserved.
  7. //
  8. import UIKit
  9. extension UIImage {
  10. func trim(trimRect trimRect :CGRect) -> UIImage {
  11. if CGRectContainsRect(CGRect(origin: CGPointZero, size: self.size), trimRect) {
  12. if let imageRef = CGImageCreateWithImageInRect(self.CGImage, trimRect) {
  13. return UIImage(CGImage: imageRef)
  14. }
  15. }
  16. UIGraphicsBeginImageContextWithOptions(trimRect.size, true, self.scale)
  17. self.drawInRect(CGRect(x: -trimRect.minX, y: -trimRect.minY, width: self.size.width, height: self.size.height))
  18. let trimmedImage = UIGraphicsGetImageFromCurrentImageContext()
  19. UIGraphicsEndImageContext()
  20. guard let image = trimmedImage else { return self }
  21. return image
  22. }
  23. }