iOS round picture clipping, prototype picture add a circle outside

Source: Internet
Author: User

/**

* Add a ring outside the circle

*/

-(void) yuanhuan{

//0. Loading pictures

UIImage *image = [UIImage imagenamed:@ "AppIcon1024"];

//width of picture

CGFloat IMAGEWH = image.size.width;

//Set the width of the ring

CGFloat border = 1;

//Large round width height

CGFloat OVALWH = imagewh + 2 * border;

///1, open bitmap context

Uigraphicsbeginimagecontextwithoptions (Cgsizemake (OVALWH, OVALWH), NO, 0);

//2, Draw a great circle

Uibezierpath *path = [Uibezierpath bezierpathwithovalinrect:cgrectmake (0, 0, OVALWH, OVALWH)];

[[Uicolor Redcolor] set];

[Path fill];

//3, set the cropping area (small circle)

Uibezierpath *clippath = [Uibezierpath bezierpathwithovalinrect:cgrectmake (Border, border, IMAGEWH, ImageWH)];

[Clippath Addclip];

///4, drawing pictures

[Image drawatpoint:cgpointmake (Border, border)];

//5, Get pictures

UIImage *clipimage = Uigraphicsgetimagefromcurrentimagecontext ();

//6, closing context

Uigraphicsendimagecontext ();

Self.imageView.image = Clipimage;

}

/**

* Crop a prototype image

*/

-(void) yuan{

//Get Pictures

UIImage *image = [UIImage imagenamed:@ "AppIcon1024"];

//1. Turn on the bitmap context, just like the size of the picture

No: opaque 0:scale not scaled

Uigraphicsbeginimagecontextwithoptions (Image.size, NO, 0);

//2. Setting the cropping area of a graphic, tangent picture

2.1 Creating a circular path

Uibezierpath *path = [Uibezierpath bezierpathwithovalinrect:cgrectmake (0, 0, Image.size.width, Image.size.width)];

//2.2 Set the path to the clipping area

[Path Addclip];

//3. Drawing pictures

[Image Drawatpoint:cgpointmake (0, 0)];

//4. Getting a picture from the context

UIImage *clipimage = Uigraphicsgetimagefromcurrentimagecontext ();

//5. Closing the context

Uigraphicsendimagecontext ();

_imageview.image = Clipimage;

}

iOS round picture clipping, prototype picture add a circle outside

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.