设置UIImage 圆角

//设置UIImage圆角

@interface UIImage(UIRoundedRectImage)

+ (id) createRoundedRectImage:(UIImage*)image size:(CGSize)size;

@end

@implementation UIImage(UIRoundedRectImage)

static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth,

float ovalHeight)

{

float fw,fh;

if (ovalWidth == 0 || ovalHeight == 0) {

CGContextAddRect(context, rect);

return;

}

CGContextSaveGState(context);

CGContextTranslateCTM(context, CGRectGetMinX(rect), CGRectGetMinY(rect));

CGContextScaleCTM(context, ovalWidth, ovalHeight);

fw = CGRectGetWidth(rect) / ovalWidth;

fh = CGRectGetHeight(rect) / ovalHeight;

CGContextMoveToPoint(context, fw, fh/2);  // Start at lower right corner

CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);  // Top right corner

CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1); // Top left corner

CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1); // Lower left corner

CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1); // Back to lower right

CGContextClosePath(context);

CGContextRestoreGState(context);

}

+ (id) createRoundedRectImage:(UIImage*)image size:(CGSize)size

{

// the size of CGContextRef

int w = size.width;

int h = size.height;

UIImage *img = image;

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace,kCGImageAlphaPremultipliedFirst);

CGRect rect = CGRectMake(0, 0, w, h);

CGContextBeginPath(context);

addRoundedRectToPath(context, rect, 5, 5);

CGContextClosePath(context);

CGContextClip(context);

CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);

CGImageRef imageMasked = CGBitmapContextCreateImage(context);

CGContextRelease(context);

CGColorSpaceRelease(colorSpace);

return [UIImage imageWithCGImage:imageMasked];

}

@end

时间: 2024-11-03 22:34:46

设置UIImage 圆角的相关文章

设置UIImage的渲染模式:UIImage.renderingMode

着色(Tint Color)是iOS7界面中的一个.设置UIImage的渲染模式:UIImage.renderingMode重大改变,你可以设置一个UIImage在渲染时是否使用当前视图的Tint Color.UIImage新增了一个只读属性:renderingMode,对应的还有一个新增方法:imageWithRenderingMode:,它使用UIImageRenderingMode枚举值来设置图片的renderingMode属性.该枚举中包含下列值: UIImageRenderingMod

view设置成圆角

有时候我们需要把图片.textview等view设置成圆角: 需要Core Graphics框架 头文件: #import <QuartzCore/QuartzCore.h> code: view.layer.borderWidth = 1; view.layer.cornerRadius = 6; view.layer.masksToBounds = YES; view设置成圆角,布布扣,bubuko.com

iOS UITabBarItem 选中图的颜色,设置UIimage的渲染模式

UITbarController之前有在这篇文章讲解:http://www.cnblogs.com/niit-soft-518/p/4447940.html 如果自定义了UITabBarItem的图片,用上述文章创建的时候,发现选中的图的边框颜色默认是蓝色的, 解决这个问题就需要设置 UIImage的渲染模式 imageWithRenderingMode 设置UIImage的渲染模式:UIImage.renderingMode 着色(Tint Color)是iOS7界面中的一个.设置UIImag

使用一个shape.xml文件,使用代码设置不同圆角背景颜色

给一个View设置一个圆角的背景颜色,我们一般会使用xml文件设置,使用<shape>节点设置,但是如果我们对一系列的View设置圆角北京,并且背景颜色色值不同,那么我们第一感觉想到的是创建多个xml文件,更改solid填充背景,其实我们可以使用一个xml文件就可以搞定,使用代码更改里面的填充颜色色值.废话不多话,看代码. 效果: 首先:创建activity_main.xml <RelativeLayout xmlns:android="http://schemas.andro

wpf 设置图片圆角

设置页面布局的时候.遇到了设置图片圆角问题,然后试了几种方法,都可以 第一种: <Border CornerRadius="50" BorderBrush="Blue" BorderThickness="2" Width="200" Height="200"> <Border.Background> <ImageBrush ImageSource="\pj\123.j

【iOS沉思录】UIImage圆角矩形的‘离屏渲染’和‘在屏渲染’实现方法

iOS中为view添加圆角效果有两种方式,一种基于"离屏渲染"(off-screen-renderring),直接设置view的layer层参数即可简单实现,也很常用,但性能较低:另一种则是编写底层图形代码,实现'在屏渲染'(on-screen-renderring),可以大大优化绘制性能. iOS中圆角效果实现的最简单.最直接的方式,是直接修改View的layer层参数: /* 设置圆角半径 */ view.layer.cornerRadius = 5; /* 将边界以外的区域遮盖住

设置图片圆角的三种方式

//了解切圆角的方式有三种,我们一种一种来看 //圆角的第一种方式:(设置Layer属性) UIImageView *imageView = [[UIImageView alloc]init]; imageView.backgroundColor = [UIColor purpleColor]; imageView.frame = CGRectMake(110, 100, 200, 200); imageView.image = [UIImage imageNamed:@"1"]; /

iOS 图片设置为圆角矩形,圆形等

有的时候需要将图片现实为圆形 比如头像等 以下面的图片为例 我们按照正常的方式添加后效果如下 UIImageView *userIconImageV=[[UIImageView alloc]initWithFrame:CGRectMake(30, 120, 188, 188)]; [self.view addSubview:userIconImageV]; userIconImageV.image=[UIImage imageNamed:@"icon_girl.jpg"]; 此时需要用

tableView 获取网络图片,并且设置为圆角(优化,fps)

代码地址如下:<br>http://www.demodashi.com/demo/11088.html 一.准备工作 例子比较精简,没有什么特殊要求,具备Xocde8.0左右版本的就好 二.程序实现 1.相关代码截图 代码里除了三方库 SDWebImage Kingfisher,一共分别有两个 category 和 extension OC代码截图 Swift代码截图 ####2.具体实现下面我们来介绍下 OC的代码 实现逻辑首先我们利用SDWebImage 最近版本添加的成功回调的方法 [s