美文网首页
iOS之图片擦除

iOS之图片擦除

作者: onlychenj | 来源:发表于2016-04-23 21:26 被阅读401次

福利来袭之用苍老师神图做图片擦拭小案例

先看效果:

5.gif

图片擦除思路.

  • 弄两个不同的图片.上面一张, 下面一张.

  • 添加手势,手指在上面移动,擦除图片.

  • 擦除前要先确定好擦除区域.

  • 假设擦除区域的宽高分别为30.

  • 那点当前的擦除范围应该是通过当前的手指所在的点来确定擦除的范围,位置.

  • 那么当前擦除区域的x应该是等于当前手指的x减去擦除范围的一半,同样,y也是当前手指的y减去高度的一半.

  • 有了擦除区域,要让图片办到擦除的效果,首先要把图片绘制到图片上下文当中, 在图片上下文当中进行擦除.

  • 之后再生成一张新的图片,把新生成的这一张图片设置为上部的图片.那么就可以通过透明的效果,看到下部的图片了.

第一个参数, 要擦除哪一个上下文
第二人参数,要擦除的区域.
CGContextClearRect(ctx, rect);
- (void)viewDidLoad {
    [super viewDidLoad];   
    self.imageV.userInteractionEnabled = YES;
    添加手势
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];    [self.imageV addGestureRecognizer:pan ];}
当手指在屏幕上拖动的时候调用.
- (void)pan:(UIPanGestureRecognizer *)pan{
    获取当前的手指点.
    CGPoint curP = [pan locationInView:self.imageV];
    确定擦除区域.
        假设擦除区域的宽高分别为30.
        那点当前的擦除范围应该是通过当前的手指所在的点来确定擦除的范围,位置.
        那么当前擦除区域的x应该是等于当前手指的x减去擦除范围的一半,同样,y也是当前手指的y减去高度的一半.
    CGFloat rectWH = 30;    CGFloat x = curP.x - rectWH * 0.5;
    CGFloat y = curP.y - rectWH * 0.5;
    确实擦除的位置尺寸.
    CGRect rect = CGRectMake(x, y, rectWH, rectWH);
    开启一个位图上下文.
  UIGraphicsBeginImageContextWithOptions(self.imageV.bounds.size, NO, 0);
    获取当前的上下文.
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    把UIImageV上的图片渲染到上下文当中.
    [self.imageV.layer renderInContext: ctx];
    设置擦除区域
    CGContextClearRect(ctx, rect);
    生成一张新的图片.
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    关闭位图上下文.
    UIGraphicsEndImageContext();
    给图片重新赋值
    self.imageV.image = newImage;
}

相关文章

  • iOS之图片擦除

    福利来袭之用苍老师神图做图片擦拭小案例 先看效果: 图片擦除思路. 弄两个不同的图片.上面一张, 下面一张. 添加...

  • iOS 图片擦除

    业务逻辑:上下两张图片,上方的图片遮盖下方的图片,为上方图片添加手势,根据手势的位置创建一个擦除的小块,然后开启位...

  • iOS - 图片擦除

    iOS 这碗饭吃了这么久,却没留下点什么东西在我的简书上,一方面是自己的懒惰,一方面还是自己懒,但是今天呢,想起来...

  • 图片擦除

    图片擦除实现步骤 加载图片,并添加拖动手势;另外加载一张背景图片,用于图片被擦除后显示,置于擦除图片下方 开启位图...

  • 图片擦除

    图片擦除思路.弄两个不同的图片.上面一张, 下面一张.添加手势,手指在上面移动,擦除图片.擦除前要先确定好擦除区域...

  • Quartz2D之图片擦除

    图片擦除

  • 图片擦除

    这里下载DEMO 原理:双层imageView,顶部imageview添加拖动手势,清除顶部imageview的上...

  • 图片水印.擦除 图片截屏.........

    画板 图片裁剪 图片擦除 方形图片生产圆形头像 手机截屏 图片水印

  • 【练习笔记】AK大神001期-简易天空替换

    导入天空图片素材和要替换天空的视频素材,视频放在天空素材下方 给天空素材加内置效果“线性擦除”,把图片素材进行擦除...

  • Quartz2D 实例应用

    裁剪一个圆形的图片的分类 截图 调用 自定义图片的截取 擦除图片

网友评论

      本文标题:iOS之图片擦除

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