本文来自【小编我】
有遇到这种问题吗?需要显示头像,但是需要让人脸居中。
当然会有第三方,不过比较简便的是使用CoreImage,apple自带的API。
下面直接分享Demo Demo下载地址点击即可获得
核心代码:
CIDetector* detector = [CIDetector detectorOfType:CIDetectorTypeFace context:nil options:[NSDictionary dictionaryWithObject:CIDetectorAccuracyLow forKey:CIDetectorAccuracy]]; NSArray* features = [detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]]; for(CIFaceFeature* faceFeature in features) { CGRect origRect = faceFeature.bounds; CGRect biggerRect = CGRectInset(origRect ,origRect.size.width*-0.5 ,origRect.size.height*-0.5); CGRect flipRect = biggerRect; flipRect.origin.y = image.size.height - (biggerRect.origin.y + biggerRect.size.height); flipRect.origin.y = flipRect.origin.y - 4; CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], flipRect); UIImage* faceImage = [UIImage imageWithCGImage:imageRef]; CGImageRelease(imageRef); photoImageView.image = faceImage; break; }
运行结果如下: