Browse Source

Crop scaled rect for CGImage

onevcat 8 năm trước cách đây
mục cha
commit
bce821b926
1 tập tin đã thay đổi với 8 bổ sung1 xóa
  1. 8 1
      Sources/Image.swift

+ 8 - 1
Sources/Image.swift

@@ -437,7 +437,7 @@ extension Kingfisher where Base: Image {
         }
         
         let rect = self.size.kf.constrainedRect(for: size, anchor: anchor)
-        guard let image = cgImage.cropping(to: rect) else {
+        guard let image = cgImage.cropping(to: rect.scaled(scale)) else {
             assertionFailure("[Kingfisher] Cropping image failed.")
             return base
         }
@@ -747,6 +747,13 @@ extension CGSizeProxy {
     }
 }
 
+extension CGRect {
+    func scaled(_ scale: CGFloat) -> CGRect {
+        return CGRect(x: origin.x * scale, y: origin.y * scale,
+                      width: size.width * scale, height: size.height * scale)
+    }
+}
+
 extension Comparable {
     func clamped(to limits: ClosedRange<Self>) -> Self {
         return min(max(self, limits.lowerBound), limits.upperBound)