iOS圖片打馬賽克保存原圖分辨率

iOS圖片打馬賽克分辨率丟失,圖片編輯完成之后保存原圖分辨率方案法竞,繪畫(huà)時(shí)內(nèi)存暴增導(dǎo)致閃退問(wèn)題

--------終極解決方案

需求是做一個(gè)編輯圖片功能股缸,結(jié)果好不容易各種搜索實(shí)現(xiàn)了功能坐漏,結(jié)果發(fā)現(xiàn)一個(gè)無(wú)解的問(wèn)題苫幢,保存圖片的時(shí)候原圖分辨率丟失了,生成就是用UIGraphicsGetImageFromCurrentImageContext()生成了一張屏幕大小尺寸的圖图张,不用想锋拖,這種方式出來(lái)的圖,分辨率肯定是丟失了的(手機(jī)截圖除外~)祸轮,在網(wǎng)上找了好多大牛寫(xiě)的博客看了好多發(fā)現(xiàn)基本都是這種方法兽埃,很奇怪,難道就沒(méi)人提過(guò)這個(gè)問(wèn)題嗎??

個(gè)人整合了一下代碼适袜,實(shí)現(xiàn)了一種性能和功能都不錯(cuò)的圖片馬賽克編輯器

效果圖:


效果圖


實(shí)現(xiàn)功能:

- 馬賽克畫(huà)筆功能柄错,可自定義馬賽克圖案 ,馬賽克大小

- 編輯器可放大,放大后雙指移動(dòng)視圖售貌,單指畫(huà)馬賽克

- 上一步给猾,下一步

- 實(shí)現(xiàn)了對(duì)原圖做處理功能,并不是失真保存圖案

- 優(yōu)化了處理時(shí) CPU 占用太高問(wèn)題


?馬賽克畫(huà)筆思路

在實(shí)時(shí)顯示時(shí)候颂跨,使用 CAShapeLayer 與 mask 蒙版的結(jié)合敢伸,達(dá)到馬賽克畫(huà)筆功能,在每一筆畫(huà)完時(shí)候恒削,使用 -drawRect 生成一張?jiān)瓐D片大小的畫(huà)布池颈,在上面摳出馬賽克畫(huà)筆的路徑,然后將馬賽克圖案與原圖融合钓丰,達(dá)到馬賽克效果饶辙。

Q:為什么要生成原圖?

因?yàn)楫?dāng)前實(shí)時(shí)顯示的馬賽克效果,是原圖按比例縮小到屏幕尺寸顯示出來(lái)的斑粱,實(shí)際上,如果需要對(duì)原圖處理脯爪,需要將移動(dòng)路徑點(diǎn)重新乘上縮小的比例则北,那么實(shí)時(shí)顯示的點(diǎn)才是對(duì)應(yīng)原圖上的點(diǎn)

生成的圖,并不是通過(guò)layer渲染的失真縮小圖痕慢,網(wǎng)上馬賽克功能的實(shí)現(xiàn)方式很多錯(cuò)在了這一步尚揣,這也是生成的圖片失真的原因

重點(diǎn): 當(dāng)選擇 A 馬賽克圖案作為畫(huà)筆紋理時(shí)候,其實(shí)就是將馬賽克圖案作為一個(gè) layer 寄宿圖加載出來(lái)掖举,通過(guò)mask蒙版遮住路徑以外的位置快骗,那么看到的是,路徑所顯示馬賽克底圖的路徑了塔次。每次畫(huà)筆畫(huà)完方篮,都會(huì)保存一張每一筆處理完馬賽克與原圖的融合圖,下次替換馬賽克圖案時(shí)候励负,如上面初始化方法藕溅,將上一筆生層融合圖作為原圖,新馬賽克圖案再作為layer继榆,繪制新的馬賽克巾表。

圖層:



使用介紹 和? demo地址:

github

具體更深層次的實(shí)現(xiàn)原理問(wèn)題,內(nèi)存暴漲原因等略吨,以下文章有非常詳細(xì)的介紹:

http://isylar.com/2018/04/03/iOSMosaiImagePen/

個(gè)人經(jīng)驗(yàn)集币,希望能幫到需要的人,如果老板非要贊賞一下的話翠忠,我不會(huì)拒絕的哦~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末鞠苟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌偶妖,老刑警劉巖姜凄,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異趾访,居然都是意外死亡态秧,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)扼鞋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)申鱼,“玉大人,你說(shuō)我怎么就攤上這事云头【栌眩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵溃槐,是天一觀的道長(zhǎng)匣砖。 經(jīng)常有香客問(wèn)我,道長(zhǎng)昏滴,這世上最難降的妖魔是什么猴鲫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮谣殊,結(jié)果婚禮上拂共,老公的妹妹穿的比我還像新娘。我一直安慰自己姻几,他們只是感情好宜狐,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蛇捌,像睡著了一般抚恒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上豁陆,一...
    開(kāi)封第一講書(shū)人閱讀 49,792評(píng)論 1 290
  • 那天柑爸,我揣著相機(jī)與錄音,去河邊找鬼盒音。 笑死表鳍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的祥诽。 我是一名探鬼主播譬圣,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼雄坪!你這毒婦竟也來(lái)了厘熟?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绳姨,沒(méi)想到半個(gè)月后登澜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飘庄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年脑蠕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跪削。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谴仙,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碾盐,到底是詐尸還是另有隱情晃跺,我是刑警寧澤,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布毫玖,位于F島的核電站掀虎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏付枫。R本人自食惡果不足惜涩盾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望励背。 院中可真熱鬧,春花似錦砸西、人聲如沸叶眉。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衅疙。三九已至,卻和暖如春鸳慈,著一層夾襖步出監(jiān)牢的瞬間饱溢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工走芋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绩郎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓翁逞,卻偏偏與公主長(zhǎng)得像肋杖,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挖函,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

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

  • 高性能協(xié)議與RPC - phptars助力起點(diǎn)改造 梁晨 Ted 任職起點(diǎn)技術(shù)中心前端開(kāi)發(fā)組状植,負(fù)責(zé)起點(diǎn)中文網(wǎng)、起...
    cuiyao50閱讀 1,153評(píng)論 0 0
  • markdown基本語(yǔ)法總結(jié) 使用過(guò) Typora寫(xiě)過(guò)一些簡(jiǎn)單的東西,語(yǔ)法比較簡(jiǎn)單津畸,沒(méi)有word里面繁瑣復(fù)雜的格式...
    de8013c4cb3c閱讀 223評(píng)論 0 0
  • ——原料: 胡蘿卜400克振定,冰糖100克,植物油半小勺肉拓,檸檬汁半小勺后频。 ——做法 1. 胡蘿卜切3毫米的厚片。 ...
    春繁秋露閱讀 293評(píng)論 0 1
  • 01 游樂(lè)場(chǎng)有一款“水槍殺魚(yú)”的小游戲帝簇。 投兩塊硬幣徘郭,就有機(jī)會(huì)打升級(jí)。 寶寶喜歡魚(yú)丧肴。 六一那天残揉,父子倆玩的正嗨,身...
    江南西子閱讀 420評(píng)論 0 0
  • 愛(ài)情是什么?每個(gè)人有自己的理解芋浮,有自己的要求抱环,誰(shuí)都不能給出一個(gè)標(biāo)準(zhǔn)的答案,就如我們的人生一樣纸巷,是沒(méi)有什么標(biāo)準(zhǔn)的镇草。而...
    何江申閱讀 1,087評(píng)論 0 50