iOS 把图片裁剪成圆形
原图:
圆形图片裁剪效果:
裁剪成带边框的圆形图片:
核心代码:
#import <UIKit/UIKit.h>@interface UIImage (image)/*** 生成一张圆形图片** @param image 要裁剪的图片** @return 生成的圆形图片*/+ (UIImage *)imageWithClipImage:(UIImage *)image;/*** 生成一张带有边框的圆形图片** @param borderW 边框宽度* @param borderColor 边框颜色* @param image 要添加边框的图片** @return 生成的带有边框的圆形图片*/
+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image;@end
#import "UIImage+image.h"@implementation UIImage (image)+ (UIImage *)imageWithClipImage:(UIImage *)image{
+ //1.开启跟原始图片一样大小的上下文UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);//2.设置一个圆形裁剪区域//2.1绘制一个圆形UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];//2.2.把圆形的路径设置成裁剪区域[path addClip];//超过裁剪区域以外的内容都给裁剪掉//3.把图片绘制到上下文当中(超过裁剪区域以外的内容都给裁剪掉)[image drawAtPoint:CGPointZero];//4.从上下文当中取出图片UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();//5.关闭上下文UIGraphicsEndImageContext();return newImage;
}+ (UIImage *)imageWithBorder:(CGFloat)borderW color:(UIColor *)borderColor image:(UIImage *)image{//1.开启一个上下文CGSize size = CGSizeMake(image.size.width + 2 * borderW, image.size.height + 2 * borderW);UIGraphicsBeginImageContextWithOptions(size, NO, 0);//2.绘制大圆,显示出来UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, size.width, size.height)];[borderColor set];[path fill];//3.绘制一个小圆,把小圆设置成裁剪区域UIBezierPath *clipPath = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(borderW, borderW, image.size.width, image.size.height)];[clipPath addClip];//4.把图片绘制到上下文当中[image drawAtPoint:CGPointMake(borderW, borderW)];//5.从上下文当中取出图片UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();//6.关闭上下文UIGraphicsEndImageContext();return newImage;
}
iOS 把图片裁剪成圆形相关推荐
- ios 将矩形图片裁剪成圆形图片
在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBound ...
- 如何把一个图片裁剪成圆形
1.有的时候,为了工作的需要,需要吧图片裁剪成圆形.我们一般有两种思路:让承载image的ImageView变成圆形,或者把图片变成圆形. A:通过image的mask 来操作.需要添加mask目标图 ...
- php 将图片截取成3张,【php】php gd库怎么把一个图片裁剪成圆形的
微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...
- gd剪裁圆形图片 php_php gd库怎么把一个图片裁剪成圆形的
微信的头像现在要加水印到一张图片上 弄成 圆形的 怎么裁剪呢 Imagick提供的有 gd库 怎么做呢 因为要在微信中生成这个图片发送给用户 所以必须是生成这样的图片的 css的border-radi ...
- 利用php gd or Imagick库把图片裁剪成圆形
主要这两种方法,记录一下: 一.设置透明度 function test($url,$path='./'){ $w = 110; $h=110; // original size $original_p ...
- android 圆形裁剪,Android中将图片裁剪成圆形的方法
直接上代码吧,如果需要拍照或者从相册中选择图片的功能,推荐一个开源库,用起来很方便 http://www.jianshu.com/p/35ce3b82773e //裁剪图片的第三方库http://ww ...
- php 将图片裁剪成圆形图片,裁剪图片为圆形
``` /** * 处理圆角图片 * @param srting $imgpath 源图片的路径 * @return [type] [description] */ public function r ...
- WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
原文:WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆) 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.欢迎转载.使用.重新发布,但务必保 ...
- 调用系统相机和相册,并且裁剪成圆形图片(解决6.0,7.0,8.0版本问题)
之前写过一篇博客,那篇博客对7.0手机裁剪图片的问题没有进行解决,现在对之前的那篇博客进行补充,解决了Android6.0,7.0,8.0版本问题,不仅可以调用相册,相机,还可以将图片保存到本地,并且 ...
最新文章
- suse linux 命令
- Mysql 获取当月和上个月第一天和最后一天的SQL
- Swift - 使用CollectionView实现图片Gallery画廊效果(左右滑动浏览图片)
- 旋转数组中的最小元素 java_程序员算法面试题之旋转数组的最小值
- oracle date引入哪个包,oracle 索引字段包含date类型,使用spring jdbc更新时不走索引,而是走table access full的问题...
- 01-centos安装界面,远程连接
- thunderx 循环获得_湖北专业生产CY310热循环风机厂商
- AS3多线程快速入门(一):Hello World[
- WCF 第一章 基础 更多关于配置文件的内容
- Java多线程进阶(三六)—— J.U.C之collections框架:DelayQueue
- 获得当月时间chuo_擅用GTD时间管理法,远离焦虑情绪,让你的工作、学习井然有序...
- 八数码问题BFS算法
- 三阶魔方快速还原法还原方法
- Runloop与UITableView简单结合
- 坚果云 android 操作历史,坚果云怎样将文件恢复到某一个历史版本?两招轻松搞定!...
- Kubernetes1.3:QoS服务质量管理
- 笔记本外接显示屏调节亮度不刺眼
- 数字ic设计流程以及相关工具
- 易友八字合婚系统发布(支持同性基友拉拉兼容)1.01发布
- 2023年电工杯数学建模B题 人工智能对大学生学习影响的评价 具体建模过程 代码以及思路