当我使用CGImageCreateWithImageInRect()创建CGImage时,它会创建一个比我传入的矩形高1 px且宽1 px的矩形。为什么会发生这种情况?
let rect: CGRect = CGRectMake(CGFloat(124.583333333333), CGFloat(156.416666666667), CGFloat(180.0), CGFloat(180.0))
let imgRef: CGImageRef = CGImageCreateWithImageInRect(img.CGImage, rect)!
print(rect.size) // 180,180
print(CGImageGetWith(imgRef), CGImageGetHeight(imgRef)) // 181, 181
答案 0 :(得分:2)
您的CGRect
有非整数来源。 CGImageCreateWithImageInRect
将使用CGRect重叠的任何像素(包括部分像素)。