本文来自【小编我】
有遇到这种问题吗?需要显示头像,但是需要让人脸居中。
当然会有第三方,不过比较简便的是使用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;
}
运行结果如下: