暂无描述

UIImageExt.swift 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // UIImageExt.swift
  3. // ExtensionKit
  4. //
  5. // Created by FFIB on 2017/9/14.
  6. // Copyright © 2017年 FFIB. All rights reserved.
  7. //
  8. import UIKit
  9. public extension UIImage {
  10. func scaledImage(_ scale: CGFloat) -> UIImage? {
  11. let outputSize = size * scale
  12. let renderer = UIGraphicsImageRenderer(size: outputSize)
  13. return renderer.image(actions: {_ in })
  14. }
  15. func scaledImage(length: CGFloat, with quality: CGFloat) -> Data? {
  16. let edge = size.width > size.height ? size.height : size.width
  17. let outputSize = size * (length / edge)
  18. let renderer = UIGraphicsImageRenderer(size: outputSize)
  19. return renderer.image(actions: {_ in }).jpegData(compressionQuality: quality)
  20. }
  21. }
  22. public extension UIImage {
  23. static var defaultAvatar: UIImage? {
  24. return UIImage(named: "defaultAvatar")
  25. }
  26. static var photoPlaceholder: UIImage? {
  27. return UIImage(named: "photoPlaceholder")
  28. }
  29. struct Navigation {
  30. public static var background: UIImage? {
  31. return UIImage(named: "navigation-background")?.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0),
  32. resizingMode: .stretch)
  33. }
  34. public static var right: UIImage? {
  35. return UIImage(named: "navigation-right")?.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0),
  36. resizingMode: .stretch)
  37. }
  38. public static var verticalPoints: UIImage? {
  39. return UIImage(named: "navigation-vertical-points")?.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0),
  40. resizingMode: .stretch)
  41. }
  42. }
  43. struct PhotoDetail {
  44. public static var purchaseBackground: UIImage? {
  45. return UIImage(named: "purchase-background")?.resizableImage(withCapInsets: UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0),
  46. resizingMode: .stretch)
  47. }
  48. }
  49. }