Two ways iOS adds rounded corners to uiimage

Source: Internet
Author: User

As we all know, adding rounded corners to the picture is a calayer Cornerradius,

Like what:

The most straightforward approach:

imgview.layer.cornerradius1=110;imgview.clipstobounds = YES;this thing off-screen rendering (off-screen-rendering), is very expensive performance; There are a lot of companies that interview will ask, how do you set the picture rounded, if youonly answer this method, then unfortunately, no bonus points. Here's a better way to do this:#import "Bys.h"

@implementation Bys

-(uiimage*) Imagewithcornerradius: (cgfloat) radius{

CGRect rect = (cgrect) {0.f,0.f,self.size};

void Uigraphicsbeginimagecontextwithoptions (cgsize size, BOOL opaque, cgfloat scale);
size--with Uigraphicsbeginimagecontext, parameter size for newly created bitmap contexts
opaque-Transparent switch, if the graphic is not transparent at all, set to Yes to optimize the storage of the bitmap.
scale-– Scaling Factor
Uigraphicsbeginimagecontextwithoptions (Self.size, NO, [UIScreen Mainscreen].scale);

Draw a curve with rounded corners based on a rectangle
Cgcontextaddpath (Uigraphicsgetcurrentcontext (), [Uibezierpath Bezierpathwithroundedrect:rect CornerRadius:radius] . Cgpath);

[Self drawinrect:rect];

Picture scaling, non-thread safe
UIImage * image = Uigraphicsgetimagefromcurrentimagecontext ();

Close context
Uigraphicsendimagecontext ();

return image;
}

add an extension API to UIImage to create rounded pictures: This is on-screen-rendering



Two ways iOS adds rounded corners to uiimage

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.