iOS之圖片擦除

福利來襲之用蒼老師神圖做圖片擦拭小案例

先看效果:

5.gif

圖片擦除思路.

  • 弄兩個不同的圖片.上面一張, 下面一張.

  • 添加手勢,手指在上面移動,擦除圖片.

  • 擦除前要先確定好擦除區(qū)域.

  • 假設(shè)擦除區(qū)域的寬高分別為30.

  • 那點(diǎn)當(dāng)前的擦除范圍應(yīng)該是通過當(dāng)前的手指所在的點(diǎn)來確定擦除的范圍,位置.

  • 那么當(dāng)前擦除區(qū)域的x應(yīng)該是等于當(dāng)前手指的x減去擦除范圍的一半,同樣,y也是當(dāng)前手指的y減去高度的一半.

  • 有了擦除區(qū)域,要讓圖片辦到擦除的效果,首先要把圖片繪制到圖片上下文當(dāng)中, 在圖片上下文當(dāng)中進(jìn)行擦除.

  • 之后再生成一張新的圖片,把新生成的這一張圖片設(shè)置為上部的圖片.那么就可以通過透明的效果,看到下部的圖片了.

第一個參數(shù), 要擦除哪一個上下文
第二人參數(shù),要擦除的區(qū)域.
CGContextClearRect(ctx, rect);
- (void)viewDidLoad {
    [super viewDidLoad];   
    self.imageV.userInteractionEnabled = YES;
    添加手勢
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];    [self.imageV addGestureRecognizer:pan ];}
當(dāng)手指在屏幕上拖動的時候調(diào)用.
- (void)pan:(UIPanGestureRecognizer *)pan{
    獲取當(dāng)前的手指點(diǎn).
    CGPoint curP = [pan locationInView:self.imageV];
    確定擦除區(qū)域.
        假設(shè)擦除區(qū)域的寬高分別為30.
        那點(diǎn)當(dāng)前的擦除范圍應(yīng)該是通過當(dāng)前的手指所在的點(diǎn)來確定擦除的范圍,位置.
        那么當(dāng)前擦除區(qū)域的x應(yīng)該是等于當(dāng)前手指的x減去擦除范圍的一半,同樣,y也是當(dāng)前手指的y減去高度的一半.
    CGFloat rectWH = 30;    CGFloat x = curP.x - rectWH * 0.5;
    CGFloat y = curP.y - rectWH * 0.5;
    確實(shí)擦除的位置尺寸.
    CGRect rect = CGRectMake(x, y, rectWH, rectWH);
    開啟一個位圖上下文.
  UIGraphicsBeginImageContextWithOptions(self.imageV.bounds.size, NO, 0);
    獲取當(dāng)前的上下文.
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    把UIImageV上的圖片渲染到上下文當(dāng)中.
    [self.imageV.layer renderInContext: ctx];
    設(shè)置擦除區(qū)域
    CGContextClearRect(ctx, rect);
    生成一張新的圖片.
    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
    關(guān)閉位圖上下文.
    UIGraphicsEndImageContext();
    給圖片重新賦值
    self.imageV.image = newImage;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市司澎,隨后出現(xiàn)的幾起案子尸饺,更是在濱河造成了極大的恐慌严衬,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件村斟,死亡現(xiàn)場離奇詭異胁黑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辛辨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門捕捂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瑟枫,“玉大人,你說我怎么就攤上這事指攒】睹睿” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵允悦,是天一觀的道長膝擂。 經(jīng)常有香客問我,道長隙弛,這世上最難降的妖魔是什么架馋? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮全闷,結(jié)果婚禮上叉寂,老公的妹妹穿的比我還像新娘。我一直安慰自己总珠,他們只是感情好屏鳍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著局服,像睡著了一般钓瞭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上淫奔,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天山涡,我揣著相機(jī)與錄音,去河邊找鬼唆迁。 笑死鸭丛,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的媒惕。 我是一名探鬼主播系吩,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼妒蔚!你這毒婦竟也來了穿挨?” 一聲冷哼從身側(cè)響起月弛,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎科盛,沒想到半個月后帽衙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡贞绵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年厉萝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榨崩。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡谴垫,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出母蛛,到底是詐尸還是另有隱情翩剪,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布彩郊,位于F島的核電站前弯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏秫逝。R本人自食惡果不足惜恕出,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望违帆。 院中可真熱鬧浙巫,春花似錦、人聲如沸前方。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惠险。三九已至苗傅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間班巩,已是汗流浹背渣慕。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抱慌,地道東北人逊桦。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像抑进,于是被迫代替她去往敵國和親强经。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Quartz2D以及drawRect的重繪機(jī)制字?jǐn)?shù)1487 閱讀21 評論1 喜歡1一寺渗、什么是Quartz2D Q...
    PurpleWind閱讀 773評論 0 3
  • 1.圓形圖片裁剪 目標(biāo)明確: 得到一張圖片 (=> 位圖上下文玲躯,手動開啟和關(guān)閉据德,代碼位置任意)思路:先設(shè)置好位圖上...
    夏天不冷閱讀 797評論 0 1
  • 相關(guān)資源 棋盤和手勢解鎖 chess.gif gestureLock.gif GitHub粒子發(fā)射和復(fù)制圖層示例 ...
    asaBoat閱讀 437評論 0 1
  • Quartz2D 簡介及用途 Quartz 2D 是一個二維繪圖引擎,同時支持iOS和Mac系統(tǒng)跷车,Quartz2D...
    45b645c5912e閱讀 968評論 1 16
  • 今日看到一篇極富生活趣味的散文棘利,梁實(shí)秋的《小花》。 早晨邊做飯邊聽的時候姓赤,畫面感極強(qiáng)赡译,甚至都會想像文字里小花的樣子...
    子陌的陌閱讀 578評論 0 1