UIImage 绘制矩形

UIImage drawInRect

我想要 "extract" 一个 UIImage 的一部分,但我遇到了一些麻烦。

例如,原始图像大小为 320x480,我想在 CGRect(10, 10, 100, 100)

这样的矩形中渲染一个新的 UIImage

我没有找到好的解决方案,但我找到了可能接近正确解决方案的东西:drawInrect()

但是当我使用它时,除了那个矩形之外的所有其他东西都会变黑。

请帮助我。

如果您想要实现的是原始图像的裁剪版本,那么您应该知道您正在绘制的 canvas 作为原点为 {0,0} 的框架。因此,例如,如果您想要的效果是获得尺寸为 100x100 且原点为 {10, 10} 的图像。所以..

let imageSize = image.size
UIGraphicsBeginImageContextWithOptions(CGSizeMake(100.0, 100.0), true, 0.0)
image.drawInRect(CGRectMake(-10, -10, imageSize.width, imageSize.height))