github地址: https://github.com/mancongiOS/UIImage.git

UIImage的Cagetory

UIImage+ImageCircle.h

- (UIImage *)imageClicpCircleWithRect:(CGRect)rect;

UIImage+ImageCircle.m

#import "UIImage+ImageCircle.h"

@interface View : UIView
@property (nonatomic, strong) UIImage * image;
@end @implementation View - (void)drawRect:(CGRect)rect { CGContextRef contextRef = UIGraphicsGetCurrentContext();
CGContextSaveGState(contextRef); // Ellipse --> 椭圆的
CGContextAddEllipseInRect(contextRef, CGRectMake(rect.size.width / , rect.size.height / , rect.size.width / , rect.size.height / ));
CGContextClip(contextRef);
CGContextFillPath(contextRef);
[self.image drawAtPoint:CGPointMake(, )]; CGContextRestoreGState(contextRef);
}
@end @implementation UIImage (ImageCircle) - (UIImage *)imageClicpCircleWithRect:(CGRect)rect { View * myView = [[View alloc] init];
myView.image = self; UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext(); myView.frame = CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
myView.backgroundColor = [UIColor orangeColor];
[myView.layer renderInContext:context]; UIImage * imageNew = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext(); return imageNew;
} @end

使用:

- (UIImageView *)imageView {
if (_imageView == nil) {
self.imageView = [[UIImageView alloc] init];
self.imageView.backgroundColor = [UIColor redColor]; UIImage * image = [UIImage imageNamed:@"1.jpg"];
// 裁剪出来一个在原图中心点,半径为四分之一原图宽高最小值的圆. CGFloat imageSizeMin = MIN(image.size.width, image.size.height); CGFloat circleImageWH = imageSizeMin;
CGFloat circleImage_x = (image.size.width - circleImageWH) / ;
CGFloat circleImage_y = (image.size.height - circleImageWH) / ; self.imageView.image = [image imageClicpCircleWithRect:CGRectMake(circleImage_x, circleImage_y, circleImageWH, circleImageWH)]; } return _imageView;
}

iOS_UIImage_裁切圆形头像的更多相关文章

  1. Android之圆形头像裁切

    PS:今天项目测试组发现,百度地图定位的数据坐标位置是正确的,但是显示的数据是错误的.最后查来查去发现,那个商厦在百度地图上根本就没有那条数据,这让我如何显示,当初就推崇使用高德地图定位,上面的数据量 ...

  2. Android 圆形头像 自己动手

    圆形头像DIY 现在大部分app使用的都是圆形头像,网上开源的也很多,但是有没有考虑过DIY圆形头像呢?下面就自己实现一个,先看下demo展示 第一步:原理解释(图片很丑,原理很真) 1.画外框圆形, ...

  3. css3圆形头像(当图片宽高不相等时)

    1.图片宽高相等,width:300px: height:300px; 把他变成宽高100px的圆形头像 img{width:100px; height:100px; border-radius:50 ...

  4. Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像

    此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...

  5. NGUI 圆形头像遮罩

    NGUI 圆形头像遮罩 列表,求助 http://tieba.baidu.com/p/3961444508

  6. Android ImageView圆形头像

    转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...

  7. 自定义控件--CircleImageView(类似于QQ、微信圆形头像自定义控件)

    现在基本上所有的需要用户注册的APP都有一个需要用户上传头像的需求,上传的头像基本都是类似于QQ.微信等社交应用圆形头像.最近,正在做的一个社交应用多处需要用到这种圆形头像的处理,总不能每次都对图片做 ...

  8. Duilib实现圆形头像控件

    .h文件 #ifndef __UIHEADICON_H__ #define __UIHEADICON_H__ /* 名称:圆形头像控件(派生CButtonUI类) */ class CHeadUI: ...

  9. 圆形头像以及一些常见需求形状自定义ImageView组件

    在实际开发中,我们经常会遇到这样的需求,就是无论图片长啥样,我们都要其显示成圆形.圆形加一个边框.矩形加边框,带圆角的矩形等等,lib和demo下载地址:https://github.com/mapl ...

随机推荐

  1. UIWebView和Js交互

    在日常的ios项目开发中,我们经常会在原生应用中嵌入web页面,通常我们只是进行一个展示,没有其它的一些功能.但是也有一些项目中需要web页面中的html和native进行交互.但是ios sdk 并 ...

  2. Linux环境下Oracle数据库启动停止命令

    切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [orac ...

  3. Java 对象内存占用

    java基本类型及对象占用的内存大小 请参考下面文章 原始类型及对象占用的内存大小 http://www.javamex.com/tutorials/memory/object_memory_usag ...

  4. WPF,Silverlight与XAML读书笔记第四十四 - 外观效果之样式

    说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 如果你有Web编程的经验,你会知道使用Sty ...

  5. 我的第一篇Markdown语法博客

    这是我的第一篇使用markdown语法编写的博客 使用的编辑器为Sublime Text2 并且使用了sublog插件, sublog是一个开源项目 sublog 并且参考了作者的博客 AmongOt ...

  6. 关于Windows高DPI的一些简单总结

    我们知道,关于高DPI的支持, Windows XP时代就开始有了, 那时关于高DPI的支持比较简单, 但是从Vista/Win7 到现在Win8 /Win8.1, Windows关于高DPI的支持已 ...

  7. [stm32] STM32 Interrupts and events 系统了解(EXTI)及槽型光电开关tp850电路研究

    中断和事件 1 嵌套向量中断控制器 特性: ● 68个可屏蔽中断通道(不包含16个Cortex™-M3的中断线):● 16个可编程的优先等级(使用了4位中断优先级):● 低延迟的异常和中断处理:● 电 ...

  8. 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇(二)

    在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP—— ...

  9. MooseFS学习-概述

    MFS(MooseFS)是一个容错的.网络分布式文件系统,是GFS的开源实现.它把数据分散在多个物理机上,对外展现为一个整体资源. 支持的功能 Unix的通用文件系统功能:目录树:记录POSIX文件属 ...

  10. asp.net mvc跨域filter

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...