iOS 图片裁剪

作者: 后浪普拉斯 | 来源:发表于2018-05-09 10:50 被阅读24次

1、开启位图上下文

   //获取UIImage对象,显示到imageView上
    //创建位图,开启图片
    //size 位图大小
    //opaque alpha YES 不透明, NO透明
    //scale 获取生成图片大小 位图大小:20*20 生成图片大小是:(20*scale*20*scale)
    UIGraphicsBeginImageContextWithOptions(img.size, NO, 1);

2、获取上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();
//在自定义的view的drawRect方法里,调用UIGraphicsGetCurrentContext获取的上下文,而在此处是获取的图层上下文(Layer Graphics Context)

3、对位图上下文添加裁剪的范围,并对齐裁剪

CGContextAddEllipseInRect(ctx, CGRectMake(25, 25, img.size.width/2, img.size.height/2));
CGContextClip(ctx);

4、从位图上下文中获取已经裁剪的图片

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

5、结束位图编辑

UIGraphicsEndImageContext();

6、图片的保存

self.imageView.image = newImage;
    
    NSData *imgData = UIImagePNGRepresentation(newImage);
    [imgData writeToFile:@"/Users/apple/Desktop/new.png" atomically:YES];
}

注意:假如想在裁剪的图片外部加边框类似的东西,此时需要在第4步之前添加:
CGContextSetLineWidth(ctx, 3);
CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1);
CGContextAddEllipseInRect(ctx, CGRectMake(25, 25, img.size.width/2, img.size.height/2));
CGContextStrokePath(ctx);
我只是加了一个宽度为1,颜色为绿色,和裁剪图片一样大小的圆,此圆在图片外面。

相关文章

  • 【iOS】图片裁剪

    【iOS】图片裁剪 Demo地址

  • [iOS] 图像处理:一种高效裁剪图片圆角的算法

    [iOS] 图像处理:一种高效裁剪图片圆角的算法 [iOS] 图像处理:一种高效裁剪图片圆角的算法

  • 【iOS】图片裁剪

    ####【iOS】图片裁剪 UIImage *imageTop=[UIImage imageNamed:@"111...

  • iOS 头像裁剪、图片裁剪、微信头像裁剪

    iOS 头像裁剪、图片裁剪、微信头像裁剪 关于图片裁剪,基本上所有涉及到c端用户带基本信息的App基本都会用到,使...

  • iOS裁剪图片

    工作中突然用到了压缩图片展示缩略图被压扁和拉伸的现象,于是先按比例压缩然后再进行裁剪。类似UIView中的UIVi...

  • iOS 图片裁剪

    1、开启位图上下文 2、获取上下文 3、对位图上下文添加裁剪的范围,并对齐裁剪 4、从位图上下文中获取已经裁剪的图...

  • iOS 图片裁剪

    写在前面:实际工作中,有时候需要按照需求将图片裁剪成圆形,或者你需要的形状。这里以圆形为例。 核心:void CG...

  • iOS图片裁剪

    在iOS开发过程中,经常会遇到上传图片的需求,有时获取到图片之后需要裁剪一下,而系统提供的方法只能裁剪出一个正方形...

  • iOS 图片裁剪

    图片裁剪根据需求自行设置newSize如果是等比例裁剪(宽高比不变的情况下),可将从相册或者相机拿到的图片获取im...

  • iOS 图片裁剪

网友评论

    本文标题:iOS 图片裁剪

    本文链接:https://www.haomeiwen.com/subject/cyywrftx.html