+(UIImage *)imageDrawCircleWithImage:(UIImage *)originImage{ CGFloat padding = 5 ; // 圆形图像距离图像的边距 UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色 CGSize originsize = originImage. size ; CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height ); UIGraphicsBeginImageContext (originsize); CGContextRef ctx = UIGraphicsGetCurrentContext (); // 目标区域。 CGRect desRect = CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 )); // 设置填充背景色。 CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor ); UIRectFill (originRect); // 真正的填充 // 设置椭圆变形区域。 CGContextAddEllipseInRect (ctx,desRect); CGContextClip (ctx); // 截取椭圆区域。 [originImage drawInRect :originRect]; // 将图像画在目标区域。 UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext (); UIGraphicsEndImageContext (); return desImage; } +(UIImage *)imageDrawCircleEdgeWithImage:(UIImage *)originImage{ CGFloat padding = 5 ; // 圆形图像距离图像的边距 UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色 CGSize originsize = originImage. size ; CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height ); UIGraphicsBeginImageContext (originsize); CGContextRef ctx = UIGraphicsGetCurrentContext (); // 目标区域。 CGRect desRect = CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 )); // 设置填充背景色。 CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor ); UIRectFill (originRect); // 真正的填充 // 设置椭圆变形区域。 CGContextAddEllipseInRect (ctx,desRect); CGContextClip (ctx); // 截取椭圆区域。 [originImage drawInRect :originRect]; // 将图像画在目标区域。 // 边框 // CGFloat borderWidth = 10 ; CGContextSetStrokeColorWithColor (ctx, [ UIColor whiteColor ]. CGColor ); // 设置边框颜色 CGContextSetLineCap (ctx, kCGLineCapButt ); CGContextSetLineWidth (ctx, borderWidth); // 设置边框宽度。 CGContextAddEllipseInRect (ctx, desRect); // 在这个框中画圆 CGContextStrokePath (ctx); // 描边框。 // 边框 // UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext (); // 获取当前图形上下文中的图像。 UIGraphicsEndImageContext (); return desImage; }
时间: 2024-11-05 13:47:13