iOS_UIImage_裁切圆形头像
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_裁切圆形头像的更多相关文章
- Android之圆形头像裁切
PS:今天项目测试组发现,百度地图定位的数据坐标位置是正确的,但是显示的数据是错误的.最后查来查去发现,那个商厦在百度地图上根本就没有那条数据,这让我如何显示,当初就推崇使用高德地图定位,上面的数据量 ...
- Android 圆形头像 自己动手
圆形头像DIY 现在大部分app使用的都是圆形头像,网上开源的也很多,但是有没有考虑过DIY圆形头像呢?下面就自己实现一个,先看下demo展示 第一步:原理解释(图片很丑,原理很真) 1.画外框圆形, ...
- css3圆形头像(当图片宽高不相等时)
1.图片宽高相等,width:300px: height:300px; 把他变成宽高100px的圆形头像 img{width:100px; height:100px; border-radius:50 ...
- Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像
此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...
- NGUI 圆形头像遮罩
NGUI 圆形头像遮罩 列表,求助 http://tieba.baidu.com/p/3961444508
- Android ImageView圆形头像
转载自:http://m.oschina.net/blog/321024 Android ImageView圆形头像 图片完全解析 我们在做项目的时候会用到圆形的图片,比如用户头像,类似QQ.用户在用 ...
- 自定义控件--CircleImageView(类似于QQ、微信圆形头像自定义控件)
现在基本上所有的需要用户注册的APP都有一个需要用户上传头像的需求,上传的头像基本都是类似于QQ.微信等社交应用圆形头像.最近,正在做的一个社交应用多处需要用到这种圆形头像的处理,总不能每次都对图片做 ...
- Duilib实现圆形头像控件
.h文件 #ifndef __UIHEADICON_H__ #define __UIHEADICON_H__ /* 名称:圆形头像控件(派生CButtonUI类) */ class CHeadUI: ...
- 圆形头像以及一些常见需求形状自定义ImageView组件
在实际开发中,我们经常会遇到这样的需求,就是无论图片长啥样,我们都要其显示成圆形.圆形加一个边框.矩形加边框,带圆角的矩形等等,lib和demo下载地址:https://github.com/mapl ...
随机推荐
- UIWebView和Js交互
在日常的ios项目开发中,我们经常会在原生应用中嵌入web页面,通常我们只是进行一个展示,没有其它的一些功能.但是也有一些项目中需要web页面中的html和native进行交互.但是ios sdk 并 ...
- Linux环境下Oracle数据库启动停止命令
切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [orac ...
- Java 对象内存占用
java基本类型及对象占用的内存大小 请参考下面文章 原始类型及对象占用的内存大小 http://www.javamex.com/tutorials/memory/object_memory_usag ...
- WPF,Silverlight与XAML读书笔记第四十四 - 外观效果之样式
说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 如果你有Web编程的经验,你会知道使用Sty ...
- 我的第一篇Markdown语法博客
这是我的第一篇使用markdown语法编写的博客 使用的编辑器为Sublime Text2 并且使用了sublog插件, sublog是一个开源项目 sublog 并且参考了作者的博客 AmongOt ...
- 关于Windows高DPI的一些简单总结
我们知道,关于高DPI的支持, Windows XP时代就开始有了, 那时关于高DPI的支持比较简单, 但是从Vista/Win7 到现在Win8 /Win8.1, Windows关于高DPI的支持已 ...
- [stm32] STM32 Interrupts and events 系统了解(EXTI)及槽型光电开关tp850电路研究
中断和事件 1 嵌套向量中断控制器 特性: ● 68个可屏蔽中断通道(不包含16个Cortex™-M3的中断线):● 16个可编程的优先等级(使用了4位中断优先级):● 低延迟的异常和中断处理:● 电 ...
- 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇(二)
在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP—— ...
- MooseFS学习-概述
MFS(MooseFS)是一个容错的.网络分布式文件系统,是GFS的开源实现.它把数据分散在多个物理机上,对外展现为一个整体资源. 支持的功能 Unix的通用文件系统功能:目录树:记录POSIX文件属 ...
- asp.net mvc跨域filter
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...