iOS-开发菜鸟->大神开发

iOS 任意图片切成原图且可以控制填充方式

2017-04-20  本文已影响9人  e5311f1a36e5

代码示例

+ (UIImage *)getRoundImageWithOriginalImage:(UIImage *)originalImage contentMode:(UIViewContentMode)contentMode rect:(CGRect)rect{

//先切成正方形的图
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:originalImage];
tempImageView.contentMode = contentMode;
tempImageView.frame = rect;
tempImageView.backgroundColor = [UIColor whiteColor];

//切取imageview上的图
UIGraphicsBeginImageContextWithOptions(tempImageView.bounds.size, NO, 0);
[tempImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *tempImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

UIGraphicsBeginImageContextWithOptions(tempImage.size, NO, 0);

//裁切范围
UIBezierPath *path=[UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, tempImage.size.width, tempImage.size.height)];
[path addClip];

//绘制图片
[tempImage drawAtPoint:CGPointZero];

//从上下文中获得裁切好的图片
UIImage *tempImage1 = UIGraphicsGetImageFromCurrentImageContext();

//关闭图片上下文
UIGraphicsEndImageContext();
return tempImage1;
}
上一篇下一篇

猜你喜欢

热点阅读