ios 如何让头像图片成为一个圆形

+(UIImage *)imageDrawCircleWithImage:(UIImage *)originImage{

    CGFloat padding = 5 ; // 圆形图像距离图像的边距

    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色

    CGSize originsize = originImage. size ;

    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );

    UIGraphicsBeginImageContext (originsize);

    CGContextRef ctx = UIGraphicsGetCurrentContext ();

    // 目标区域。

    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));

    // 设置填充背景色。

    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );

    UIRectFill (originRect); // 真正的填充

    // 设置椭圆变形区域。

    CGContextAddEllipseInRect (ctx,desRect);

    CGContextClip (ctx); // 截取椭圆区域。

    [originImage drawInRect :originRect]; // 将图像画在目标区域。

    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext ();

    UIGraphicsEndImageContext ();

    return desImage;

}

+(UIImage *)imageDrawCircleEdgeWithImage:(UIImage *)originImage{

    CGFloat padding = 5 ; // 圆形图像距离图像的边距

    UIColor * epsBackColor = [ UIColor greenColor ]; // 图像的背景色

    CGSize originsize = originImage. size ;

    CGRect originRect = CGRectMake ( 0 , 0 , originsize. width , originsize. height );

    UIGraphicsBeginImageContext (originsize);

    CGContextRef ctx = UIGraphicsGetCurrentContext ();

    // 目标区域。

    CGRect desRect =  CGRectMake (padding, padding,originsize. width -(padding* 2 ), originsize. height -(padding* 2 ));

    // 设置填充背景色。

    CGContextSetFillColorWithColor (ctx, epsBackColor. CGColor );

    UIRectFill (originRect); // 真正的填充

    // 设置椭圆变形区域。

    CGContextAddEllipseInRect (ctx,desRect);

    CGContextClip (ctx); // 截取椭圆区域。

    [originImage drawInRect :originRect]; // 将图像画在目标区域。

    // 边框 //

    CGFloat borderWidth = 10 ;

    CGContextSetStrokeColorWithColor (ctx, [ UIColor whiteColor ]. CGColor ); // 设置边框颜色

    CGContextSetLineCap (ctx, kCGLineCapButt );

    CGContextSetLineWidth (ctx, borderWidth); // 设置边框宽度。

    CGContextAddEllipseInRect (ctx, desRect); // 在这个框中画圆

    CGContextStrokePath (ctx); // 描边框。

    // 边框 //

    UIImage * desImage = UIGraphicsGetImageFromCurrentImageContext (); // 获取当前图形上下文中的图像。

    UIGraphicsEndImageContext ();

    return desImage;
}
时间: 2024-11-05 13:47:13

ios 如何让头像图片成为一个圆形的相关文章

ios之如何让图片显示成圆形的样式/设置控件边框大小以及颜色

比如说QQ登陆头像显示出来的就是圆形的,但实际上它的图片并非就是圆形,而是通过对layer层进行绘制而成的.说到layer每个控件都会有layer层属性所以可以把任意的控件都可以设置成圆形,或是椭圆型看项目需要而定 UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"头像.png"]]; imageView.frame = CGRectMake(100, 100, 100, 1

ios 将矩形图片裁剪成圆形图片

在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBounds = YES 就可以了, 但是对于长方形的图片来说这个方式裁剪出来的就不是一个圆形的了, 而是个椭圆的. 解决这个问题就需要自己画 并且需要计算. 最终效果图如下: tips: 如果是裁剪矩形的话, 是从图片中心的位置为圆心剪裁的. 代码如下: @implementation UIImage (C

iOS给一张矩形图片剪切成圆形图片

随着APP发展,个人账户的注册和登陆,都有头像的设置,圆形头像也越来越多,此方法正是对剪切圆头像的封装. //****************************************************************************************************************// //******************************************************************************

UWP 画一个圆形头像

经常需要做一个圆形头像的样式,like this 做法很简单,直接上xaml. <Ellipse Width="80" Height="80"> <Ellipse.Fill> <ImageBrush ImageSource="photo address"></ImageBrush> </Ellipse.Fill> </Ellipse> 创建一个椭圆(长和宽一样就是圆),用Im

如何将方形图片磨成圆形图片

如何将方形图片磨成圆形图片 在开发中经常会有一些需求,比如显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其他的一些形状.但是往往我们手上的图片或者从服务器 获取到的图片都是方形的.这时候就需要我们自己进行处理,将图片处理成所需要的形状. 使用Xfermode 两图相交方式 通过查找资料通过查找资料发现android中可以设置画笔的Xfermode即相交模式,从而设置两张图相交之后的显示方式,具体模式见下图,源码可以去android apidemo.(SRC 为我们要画到目标图上的图即

Ios 应用的启动图片该怎么做

从App Store创建伊始,苹果就一直在推广一个观念:iOS app上架后,它的应用的启动图片(你打开应用第一眼看到的)应该仅仅是一个中间屏幕,仅此而已.引用苹果的人机界面指南如下: "一个启动文件或启动图片的作用是,当应用启动时提供给iOS系统的一个简单的图片占位符.这个图片占位符给用户一个印象:你的应用是快速的.有反应的,因为一点开应用它会立即展现,且很快被应用的第一屏替换." 问题是,相当多的人(包括我自己)忽略了这条准则.如果你对此感到好奇,可以看看上面的封面图,或者把所有运

iOS一行代码压缩图片大小

现在基本所有应用都与图片相关联,这就必然涉及到上传下载图片,而用户的流量又迟迟没有被解放,因此图片就不能太大,我们知道iPhone一张照片动辄几M,如果都传原图那流量就会爆炸,粗暴地缩小又会影响图片的分辨率.那有没有办法在保持一定分辨率的情况下压缩图片呢?有的,而且非常简单,一行代码搞定,是苹果自带的压缩函数: UIImageJPEGRepresentation UIImagePNGRepresentation 这两个函数都是iOS自带的图片压缩工具.一个是压成JPEG格式,一个是压成PNG格式

个人界面 &lt; 头像 &gt; 图片选择(相册,拍照)--如何调用系统的相册,裁剪并且上传

##需求:个人界面的,个人头像图片的切换 方式一:点击开始切换头像的pop–相册选择 二:这里有两种方式,从相册选择和直接拍照,假设现在是从相册选择选择头像 *我在pop确定的点击方法中写了一个方法-–实现打开系统的相册并且获取到照片路径,在这里我们一开始就设置了请求码,用来区分onActivityResult,然后在本Activity中通过onActivityResult方法中通过请求码做相对应的处理 第一步:打开系统的相册 /** * 从相册获取 */ protected void toAl

Quick-cocos2d-x3.3 Study (十二)--------- 创建一个圆形的物体并带有物理引擎效果

创建带物理效果的心心图片 先创建一个物理场景 1 local GameScene = class("GameScene", function ( ) 2 -- body 3 -- return display.newScene("GameScene") 4 -- 创建一个带物理效果的场景 5 return display.newPhysicsScene("GameScene") 6 end) 在这个物理世界中添加物理心心 1 -- 获取场景中绑定