切圆角头像带白边
来源:互联网 发布:java手机版下载 编辑:程序博客网 时间:2024/04/28 14:16
切圆角头像带白边
//// UIImage+CircleImage.m// iuReader//// Created by MrWu on 2017/3/27.// Copyright © 2017年 com.AiYouHuYu. All rights reserved.//#import "UIImage+CircleImage.h"@implementation UIImage (CircleImage)- (UIImage *)drawCircleImageInCorner { CGFloat side = MIN(self.size.width, self.size.height); UIGraphicsBeginImageContextWithOptions(CGSizeMake(side, side), false, [UIScreen mainScreen].scale); //设置圆形// CGContextAddPath(UIGraphicsGetCurrentContext(),[UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, side, side)].CGPath); //裁剪四个角 UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, side, side) byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight | UIRectCornerTopRight | UIRectCornerTopLeft cornerRadii:CGSizeMake(10, 10)]; CGContextAddPath(UIGraphicsGetCurrentContext(), maskPath.CGPath); CGContextClip(UIGraphicsGetCurrentContext()); CGFloat marginX = -(self.size.width - side) / 2.f; CGFloat marginY = -(self.size.height - side) / 2.f; [self drawInRect:CGRectMake(marginX, marginY, self.size.width, self.size.height)]; CGContextDrawPath(UIGraphicsGetCurrentContext(), kCGPathFillStroke); UIImage *output = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return output;}- (UIImage *)drawCircleImageInCircle { CGFloat side = MIN(self.size.width, self.size.height); UIGraphicsBeginImageContextWithOptions(CGSizeMake(side, side), false, [UIScreen mainScreen].scale); //设置圆形 CGContextAddPath(UIGraphicsGetCurrentContext(),[UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, side, side)].CGPath); CGContextClip(UIGraphicsGetCurrentContext()); CGFloat marginX = -(self.size.width - side) / 2.f; CGFloat marginY = -(self.size.height - side) / 2.f; [self drawInRect:CGRectMake(marginX, marginY, self.size.width, self.size.height)]; CGContextDrawPath(UIGraphicsGetCurrentContext(), kCGPathFillStroke); UIImage *output = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return output;}/** 画图片边的圈 */- (UIImage *)drawCircleImageInCircleColor:(UIColor *)color withMargin:(CGFloat)margin { CGFloat side = MIN(self.size.width, self.size.height); UIGraphicsBeginImageContextWithOptions(CGSizeMake(side, side), false, [UIScreen mainScreen].scale); //设置圆形 CGContextAddPath(UIGraphicsGetCurrentContext(),[UIBezierPath bezierPathWithArcCenter:CGPointMake(side*0.5, side*0.5) radius:side*0.5 startAngle:0 endAngle:M_PI * 2 clockwise:YES].CGPath); CGContextClip(UIGraphicsGetCurrentContext()); CGFloat marginX = -(self.size.width - side) / 2.f; CGFloat marginY = -(self.size.height - side) / 2.f; [self drawInRect:CGRectMake(marginX, marginY, self.size.width, self.size.height)]; CGContextDrawPath(UIGraphicsGetCurrentContext(), kCGPathFillStroke); UIImage *output = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // CGFloat margSide = side*0.5 + margin; UIGraphicsBeginImageContextWithOptions(CGSizeMake(margSide*2, margSide*2), false, [UIScreen mainScreen].scale); CGContextRef ref = UIGraphicsGetCurrentContext(); CGContextAddArc(ref, margSide, margSide, margSide, 0, M_PI*2, YES); CGContextClip(ref); CGContextSetFillColorWithColor(ref, color.CGColor); CGContextFillRect(ref, CGRectMake(0, 0, margSide*2, margSide*2)); CGContextDrawImage(ref,CGRectMake(margin, margin, side, side), output.CGImage); CGContextStrokePath(ref); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();// CGContextRelease(ref); return image;}@end
0 0
- 切圆角头像带白边
- 头像
- 头像
- 头像
- 头像问题
- 简历头像
- 头像选择
- 更新头像
- 头像预览
- 头像闪动
- 记录头像
- 验证头像
- 上传头像
- 头像选择
- 头像选择
- 头像相关
- android头像
- 头像圆形
- fineui 占位符
- LeetCode题解–72. Edit Distance
- 常用正则表达式
- !
- JavaEE开发环境准备
- 切圆角头像带白边
- web前端-jquery
- springmvc 与velocity的配置 返回html
- Ubuntu 16.04 安装 Android Studio
- UIButton的setImage、setBackgroundImage
- struts2表单验证
- 功夫不负有心人,终于解决TeamViewer在局域网中远程桌面控制
- 手机端 1px 边框比较粗,没有微信自带的边框细
- MyBatis主配置文件与jdbc.properties文件结合使用