zoukankan      html  css  js  c++  java
  • 使用Quartz2D技术擦除图片

    #import "ViewController.h"

    @interface ViewController ()

    @property (weak, nonatomic) IBOutlet UIImageView *imageView;

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view, typically from a nib.

        

        UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];

        

        [self.view addGestureRecognizer:pan];

    }

    - (void)pan:(UIPanGestureRecognizer *)pan

    {

        // 获取当前点

        CGPoint curP = [pan locationInView:self.view];

        

        // 获取擦除的矩形范围

        CGFloat wh = 60;

        CGFloat x = curP.x - wh * 0.5;

        CGFloat y = curP.y - wh * 0.5;

        

        CGRect rect = CGRectMake(x, y, wh, wh);

        

        // 开启上下文

        UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, 0);

        

        CGContextRef ctx = UIGraphicsGetCurrentContext();

        

        // 控件的layer渲染上去

        [_imageView.layer renderInContext:ctx];

        

        // 擦除图片

        CGContextClearRect(ctx, rect);

        

        // 生成一张图片

        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

        

        _imageView.image = image;

        

        // 关闭上下文

        UIGraphicsEndImageContext();

        

        

    }

  • 相关阅读:
    Java程序设计11——异常处理
    Hive安装及配置
    zookeeper集群安装(转)
    Linux网络服务管理命令
    Linux网络配置常用命令
    IP地址及子网掩码计算
    linux ftp、sftp、telnet服务开通、更改Orale最大连接数
    SQL多表连接
    用css伪类实现提示框效果
    关于DOM操作的性能优化
  • 原文地址:https://www.cnblogs.com/CJH5209/p/6033168.html
Copyright © 2011-2022 走看看