No Description

UIImageExt.swift 2.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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(origin: CGPoint.zero, size: outputSize))
  22. }
  23. }
  24. func combineTo(image: UIImage, proportion: CGFloat, size: CGSize) {
  25. let renderer = UIGraphicsImageRenderer(size: size)
  26. renderer.image(actions: { context in
  27. context.currentImage.draw(in: CGRect.init(x: 0, y: 0, width: size.width * proportion, height: size.height))
  28. image.draw(in: CGRect.init(x: size.width * proportion, y: 0, width: size.width * (1 - proportion), height: size.height))
  29. })
  30. }
  31. }
  32. public extension UIImage {
  33. static var defaultAvatar: UIImage? {
  34. return UIImage(named: "defaultAvatar")
  35. }
  36. static var photoPlaceholder: UIImage? {
  37. return UIImage(named: "photoPlaceholder")
  38. }
  39. struct Navigation {
  40. public static var background: UIImage? {
  41. return UIImage(named: "navigation-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  42. resizingMode: .stretch)
  43. }
  44. public static var blackBackground: UIImage? {
  45. return UIImage(named: "navigation-background-black")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  46. resizingMode: .stretch)
  47. }
  48. public static var right: UIImage? {
  49. return UIImage(named: "navigation-right")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  50. resizingMode: .stretch)
  51. }
  52. public static var verticalPoints: UIImage? {
  53. return UIImage(named: "navigation-vertical-points")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  54. resizingMode: .stretch)
  55. }
  56. }
  57. struct PhotoDetail {
  58. public static var purchaseBackground: UIImage? {
  59. return UIImage(named: "purchase-background")?.resizableImage(withCapInsets: UIEdgeInsets.zero,
  60. resizingMode: .stretch)
  61. }
  62. }
  63. }