美文网首页
图片擦除

图片擦除

作者: 翻这个墙 | 来源:发表于2017-11-23 10:51 被阅读23次

图片擦除实现步骤

  • 加载图片,并添加拖动手势;另外加载一张背景图片,用于图片被擦除后显示,置于擦除图片下方

  • 开启位图上下文(与图片大小一致)

  • 获取当前位图上下文

  • 将图片控件的layer通过renderInContex绘制到位图上下文中

  • 清除上下文中某一部分

  • 从上下文中获取这张图片

  • 关闭上下文

  • 将擦除后的图片显示回控件中

// 加载图片,并添加拖动手势;另外加载一张背景图片,用于图片被擦除后显示,置于擦除图片下方,已通过storyboard实现

//监视拖动
- (IBAction)pan:(UIPanGestureRecognizer *)sender {

// 开启位图上下文
    UIGraphicsBeginImageContextWithOptions(sender.view.bounds.size, NO, 0);

// 获取当前位图上下文
    CGContextRef ctx = UIGraphicsGetCurrentContext();

// 渲染控件,相当于控件的layer图层加载到位图上下文中
    [sender.view.layer renderInContext:ctx];

//  清除上下文中某一部分
    //获取当前触摸点
    CGPoint curP =[sender locationInView:sender.view];

    //计算擦除区域
    CGFloat wh = 30;
    CGFloat x = curP.x - wh * 0.5;
    CGFloat y = curP.y - wh * 0.5;
    CGRect clearR = CGRectMake(x, y, wh, wh);

    // 核心代码
    CGContextClearRect(ctx, clearR);

// 从上下文中生成一张图片
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

// 关闭上下文
    UIGraphicsEndImageContext();

// 将擦除后的图片显示回控件中
    UIImageView *imageV = (UIImageView *)sender.view;
    imageV.image = image;

}

相关文章

  • 图片擦除

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

  • 图片擦除

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

  • Quartz2D之图片擦除

    图片擦除

  • 图片擦除

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

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

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

  • iOS 图片擦除

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

  • iOS - 图片擦除

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

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

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

  • Quartz2D 实例应用

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

  • 图片擦除(支付宝擦除效果)

    原理就是俩张图片叠在一起,去除上面图片的效果。 代码如下 代码链接 下载地址 demo

网友评论

      本文标题:图片擦除

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