Swift:为什么 CGImageCreateWithImageInRect() 会创建一个大 1 像素的矩形?

标签 swift swift2 cgrectmake

当我使用 CGImageCreateWithImageInRect() 创建 CGImage 时,它​​会创建一个比我传入的矩形高 1 像素、宽 1 像素的矩形。为什么会这样?

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

最佳答案

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

关于Swift:为什么 CGImageCreateWithImageInRect() 会创建一个大 1 像素的矩形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36075951/

相关文章:

ios - 在 Swift 3 中自动将 CGRectMake 更新为 CGRect

swift - 标签只能出现在 switch 语句中

Swift 协议(protocol)比较

struct - 在Swift中以字符串的形式通过结构名称访问结构属性

objective-c - 用 CGPoint 和/或 CGSize 定义 CGRectmake

cgrectmake - Core Graphics (CGrect) 最有用的功能是什么?

ios - 从 Parse Cloud 更新 Parse Local Storage 中固定的 PFObject

ios - 我可以根据 map View 上已有的路线获取大概的行程时间吗?

ios - 标题上方有/没有图像的可调整大小的 UIButton?

ios - 如何支持使用 UILabel 自动调整 UITableViewCell 的大小