作者:Mitchell
- Demo地址
- 業務邏輯:上下兩張圖片,上方遮蓋,下方擦除之后想要顯示的圖片,為上方圖片添加手勢,根據手勢的位置創建擦除的小塊,然后開啟位圖,渲染被擦除的圖層,清楚掉pan手勢劃過的區域,生成新的圖片,關閉位圖上下文,將新的圖片賦給被擦除的圖片。
CGPoint curP = [sender locationInView:sender.view];
- 確定擦除區域
CGFloat wh = 100;
CGRect clearR = CGRectMake(curP.x-wh*0.5, curP.y-wh*0.5, wh, wh);
- 開啟位圖上下文
UIGraphicsBeginImageContextWithOptions(sender.view.frame.size, NO, 0);
- 獲取當前上下文
CGContextRef ctx = UIGraphicsGetCurrentContext();
- 渲染控件
[sender.view.layer renderInContext:ctx];
- 清除上下文某一部分
CGContextClearRect(ctx, clearR);
- 從上下文中生成一張圖片
UIImage*image = UIGraphicsGetImageFromCurrentImageContext();
- 關閉上下文
UIGraphicsEndImageContext();
- 將生成的圖片賦給覆蓋的ImageView
UIImageView*imageV = (UIImageView*)sender.view;
imageV.image = image;
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。