将UIImage分成两半?

我怎样才能将UIImage分成两半(从中间开始),这样就会产生两个图像?

你可以试试这个,

UIImage *image = [UIImage imageNamed:@"yourImage.png"]; CGImageRef tmpImgRef = image.CGImage; CGImageRef topImgRef = CGImageCreateWithImageInRect(tmpImgRef, CGRectMake(0, 0, image.size.width, image.size.height / 2.0)); UIImage *topImage = [UIImage imageWithCGImage:topImgRef]; CGImageRelease(topImgRef); CGImageRef bottomImgRef = CGImageCreateWithImageInRect(tmpImgRef, CGRectMake(0, image.size.height / 2.0, image.size.width, image.size.height / 2.0)); UIImage *bottomImage = [UIImage imageWithCGImage:bottomImgRef]; CGImageRelease(bottomImgRef); 

希望这可以帮到你, :)

 - (void)splitImage:(UIImage *)image { CGFloat imgWidth = image.size.width/2; CGFloat imgheight = image.size.height; CGRect leftImgFrame = CGRectMake(0, 0, imgWidth, imgheight); CGRect rightImgFrame = CGRectMake(imgWidth, 0, imgWidth, imgheight); CGImageRef left = CGImageCreateWithImageInRect(image.CGImage, leftImgFrame); CGImageRef right = CGImageCreateWithImageInRect(image.CGImage, rightImgFrame); // These are the images we want! UIImage *leftImage = [UIImage imageWithCGImage:left]; UIImage *rightImage = [UIImage imageWithCGImage:right]; // Don't forget to free the memory! CGImageRelease(left); CGImageRelease(right); } 

iOS 11,swift 4.0更新版本https://stackoverflow.com/users/893872/durul-dalkanat我认为老实说是最好的:)

这将图像分成4个部分

 func splitImage(image2D: UIImage) -> [UIImage] { let imgWidth = image2D.size.width / 2 let imgHeight = image2D.size.height / 2 var imgImages:[UIImage] = [] let leftHigh = CGRect(x: 0, y: 0, width: imgWidth, height: imgHeight) let rightHigh = CGRect(x: imgWidth, y: 0, width: imgHeight, height: imgHeight) let leftLow = CGRect(x: 0, y: imgHeight, width: imgWidth, height: imgHeight) let rightLow = CGRect(x: imgWidth, y: imgHeight, width: imgWidth, height: imgHeight) let leftQH = image2D.cgImage?.cropping(to:leftHigh) let rightHQ = image2D.cgImage?.cropping(to:rightHigh) let leftQL = image2D.cgImage?.cropping(to:leftLow) let rightQL = image2D.cgImage?.cropping(to:rightLow) imgImages.append(UIImage(cgImage: leftQH!)) imgImages.append(UIImage(cgImage: rightHQ!)) imgImages.append(UIImage(cgImage: leftQL!)) imgImages.append(UIImage(cgImage: rightQL!)) return imgImages }