暂无描述

UIImageExt.swift 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. //
  2. // UIImageExt.swift
  3. // PaiaiUIKit
  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.jpegData(withCompressionQuality: quality) { _ in
  20. let content = UIGraphicsGetCurrentContext()
  21. content?.draw(cgImage!, in: CGRect.init(origin: CGPoint.zero, size: outputSize))
  22. }
  23. }
  24. }
  25. public extension UIImage {
  26. static var defaultAvatar: UIImage? {
  27. return UIImage(named: "defaultAvatar")
  28. }
  29. static var photoPlaceholder: UIImage? {
  30. return UIImage(named: "photoPlaceholder")
  31. }
  32. struct Navigation {
  33. public static var background: UIImage? {
  34. return UIImage(named: "navigation-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  35. resizingMode: .stretch)
  36. }
  37. public static var blackBackground: UIImage? {
  38. return UIImage(named: "navigation-background-black")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  39. resizingMode: .stretch)
  40. }
  41. public static var right: UIImage? {
  42. return UIImage(named: "navigation-right")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  43. resizingMode: .stretch)
  44. }
  45. public static var verticalPoints: UIImage? {
  46. return UIImage(named: "navigation-vertical-points")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  47. resizingMode: .stretch)
  48. }
  49. }
  50. struct PhotoDetail {
  51. public static var purchaseBackground: UIImage? {
  52. return UIImage(named: "purchase-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  53. resizingMode: .stretch)
  54. }
  55. }
  56. }