iOS如何裁剪圆形头像_IOS

本文实例为大家介绍了iOS裁剪圆形头像的详细代码,供大家参考,具体内容如下

- (void)viewDidLoad {
  [super viewDidLoad];

  //加载图片
  UIImage *image = [UIImage imageNamed:@"菲哥"];

  //获取图片尺寸
  CGSize size = image.size;

  //开启位图上下文
  UIGraphicsBeginImageContextWithOptions(size, NO, 0);

  //创建圆形路径
  UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, image.size.width, image.size.height)];

  //设置为裁剪区域
  [path addClip];

  //绘制图片
  [image drawAtPoint:CGPointZero];

  //获取裁剪后的图片
  _imageView.image = UIGraphicsGetImageFromCurrentImageContext();

  //关闭上下文
  UIGraphicsEndImageContext();

}

再来一张菲哥的头像

如果想要在圆形头像外加一个边框,思路是先绘制一个大圆,然后在这个圆尺寸范围内绘制一个图片大小的圆。

- (void)viewDidLoad {
  [super viewDidLoad];

  //加载图片
  UIImage *image = [UIImage imageNamed:@"大菲哥"];

  //设置边框宽度
  CGFloat border = 3;
  CGFloat imageWH = image.size.width;

  //计算外圆的尺寸
  CGFloat ovalWH = imageWH + 2 * border;

  //开启上下文
  UIGraphicsBeginImageContextWithOptions(image.size, NO, 0);

  //画一个大的圆形
  UIBezierPath *path = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0, 0, ovalWH, ovalWH)];

  [[UIColor orangeColor]set];

  [path fill];

  //设置裁剪区域
  UIBezierPath *path1 = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(border, border, imageWH, imageWH)];
  [path1 addClip];

  //绘制图片
  [image drawAtPoint:CGPointMake(border, border)];

  //从上下文中获取图片
  _imageView.image = UIGraphicsGetImageFromCurrentImageContext();

  //关闭上下文
  UIGraphicsEndImageContext();

}

效果如图:

屏幕截图代码:
原理就是把屏幕上控件的layer渲染到上下文中

- (void)viewDidLoad {
  [super viewDidLoad];

  //开启上下文
  UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);

  //获取上下文
  CGContextRef ctx = UIGraphicsGetCurrentContext();

  //把控件上的图层渲染到上下文
  [self.view.layer renderInContext:ctx];

  //获取上下文中的图片
  UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

  //关闭上下文
  UIGraphicsEndImageContext();

  //保存图片到相册
  UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

}

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索iOS裁剪圆形头像
, iOS圆形头像
iOS头像
ios 裁剪圆形头像、android 圆形头像裁剪、圆形头像上传裁剪插件、php 裁剪圆形头像图片、js头像圆形裁剪,以便于您获取更多的相关知识。

时间: 2024-09-27 17:03:03

iOS如何裁剪圆形头像_IOS的相关文章

iOS实现带文字的圆形头像效果_IOS

下面就来实现一下这种效果   圆形头像的绘制 先来看一下效果图 分析一下:       1.首先是需要画带有背景色的圆形头像       2.然后是需要画文字       3.文字是截取的字符串的一部分       4.不同的字符串,圆形的背景色是不一样的       5.对于中英文同样处理,英文的一个字符和中文的一个汉字同样算作一个字符       6.文字总是居中显示 好 有了这样几点 我们就可以开始画图了 看一下最终实现的效果图 首先 ,我们需要自定义一个view当做自定义头像,在view

ios-IOS图片剪切圆形头像时,宽度和高度不一样为什么剪切出来的头像还是正圆??

问题描述 IOS图片剪切圆形头像时,宽度和高度不一样为什么剪切出来的头像还是正圆?? 解决方案 因为你的beginimagecontext 里面设置成了image.size 你改成其他尺寸看看 解决方案二: 你的header是不是宽高相同?是不是scaleTofill的? 按照你最初的写法,你的newImg是一个椭圆的, 但是我估计你的header是一个宽高相等的view,并且是scaleTofill的,将newImg放进去的时候,正好又变回圆形了 可以new一个别的尺寸的UIImageView

Android中使用CircleImageView和Cardview制作圆形头像的方法_Android

圆形头像在我们的日常使用的app中很常见,因为圆形的头像比较美观. 使用圆形图片的方法可能有我们直接将图片裁剪成圆形再在app中使用,还有就是使用自定义View对我们设置的任何图片自动裁剪成圆形. 效果图: 这里使用github上CircleImageView github:https://github.com/hdodenhof/CircleImageView CardView顾名思义卡片式的View,CardView继承的是FrameLayout,所以摆放内部控件的时候需要注意一下 可以设置

Android特效专辑(五)——自定义圆形头像和仿MIUI卸载动画—粒子爆炸

Android特效专辑(五)--自定义圆形头像和仿MIUI卸载动画-粒子爆炸 好的,各位亲爱的朋友,今天讲的特效还是比较炫的,首先,我们会讲一个自定义圆形的imageView,接着,我们会来实现粒子爆炸的特效,按照国际惯例,无图无真相的没这个效果也是模仿大神的,现在应用在了我的<Only>上 截图 好的,我们新建一个工程--AnimView,我们要用到的图片 一.自定义圆形头像-- 直接开写了,要实现的东西都在注释上了 1.编写自定义属性attr.xml <?xml version=&q

利用Android中BitmapShader制作自带边框的圆形头像_Android

效果如下: BitmapShader 的简单介绍 关于 Shader是什么,Shader的种类有哪几种以及如何使用不属于本文范畴,对这方面不是很了解的同学,建议先去学习一下 Shader 的基本使用. BitmapShader主要的作用就是 通过Paint对象,对 画布进行指定的Bitmap填充,实现一系列效果,可以有以下三种模式进行选择       1.CLAMP - 拉伸,这里拉伸的是图片的最后一个元素,不断地重复,这个效果,在图片比较小,而所要画的面积比较大的时候会比较明显.      

Android自定义控件仿QQ编辑和选取圆形头像_Android

android大家都有很多需要用户上传头像的需求,有的是选方形,有的是圆角矩形,有的是圆形. 首先我们要做一个处理图片的自定义控件,把传入的图片,经过用户选择区域,处理成一定的形状. 有的app是通过在图片上画一个矩形区域表示选中的内容,有的则是通过双指放大缩小,拖动图片来选取图片.圆形头像,还是改变图片比较好 圆形区域可调节大小. 这个自定义View的图像部分分为三个,背景图片,半透明蒙层,和亮色区域--还是直接贴代码得了 package com.example.jjj.widget; imp

Android应用中绘制圆形头像的方法解析_Android

要画这种圆形带阴影的头像,个人分解成三个图层 1,先画头像边缘的渐变 RadialGradient gradient = new RadialGradient(j/2,k/2,j/2,new int[]{0xff5d5d5d,0xff5d5d5d,0x00ffffff},new float[]{0.f,0.8f,1.0f}, Shader.TileMode.CLAMP); paint.setShader(gradient); canvas.drawCircle(j/2,k/2,j/2,paint

Android中使用CircleImageView和Cardview制作圆形头像的方法

圆形头像在我们的日常使用的app中很常见,因为圆形的头像比较美观. 使用圆形图片的方法可能有我们直接将图片裁剪成圆形再在app中使用,还有就是使用自定义View对我们设置的任何图片自动裁剪成圆形. 效果图: 这里使用github上CircleImageView github:https://github.com/hdodenhof/CircleImageView CardView顾名思义卡片式的View,CardView继承的是FrameLayout,所以摆放内部控件的时候需要注意一下 可以设置

Android 自定义圆形头像CircleImageView支持加载网络图片的实现代码

在Android开发中我们常常用到圆形的头像,如果每次加载之后再进行圆形裁剪特别麻烦.所以在这里写一个自定义圆形ImageView,直接去加载网络图片,这样的话就特别的方便. 先上效果图 主要的方法 1.让自定义 CircleImageView 继承ImageView /** * 自定义圆形头像 * Created by Dylan on 2015/11/26 0026. */ public class CircleImageView extends ImageView { } 2.在构造方法中