Swift:为什么CGImageCreateWithImageInRect()创建一个矩形1更大的pix?

时间:2016-03-18 04:06:54

标签: swift swift2 cgrectmake

当我使用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

1 个答案:

答案 0 :(得分:2)

您的CGRect有非整数来源。 CGImageCreateWithImageInRect将使用CGRect重叠的任何像素(包括部分像素)。