[UIImage系列]-圖片的任意旋轉(zhuǎn)、剪切及拉伸

本文講述關(guān)于UIImage的一系列操作。

首先,來強(qiáng)調(diào)一個知識點:
對于UIImage的旋轉(zhuǎn)、剪切等操作,并非是對其進(jìn)行動畫操作,因為動畫本身的執(zhí)行是針對存放UIImage的那個View來進(jìn)行的,也就是說如果你通過動畫來進(jìn)行裁剪、旋轉(zhuǎn)、變形等操作,他并沒有對原有的圖片本身有任何實質(zhì)性的改變。事實上,對于UIImage的這些任意處理,我們是通過獲取它的圖形上下文Context來進(jìn)行操作的。

接下來我們具體看看如何進(jìn)行圖片的任意處理:

  1. 圖片的任意角度旋轉(zhuǎn)
    實現(xiàn)思路:首先將需要處理的圖片渲染到她的context上,然后對得到的這個context進(jìn)行我們需要的旋轉(zhuǎn)處理,最后再將旋轉(zhuǎn)過的context轉(zhuǎn)化為UIImage的類型。

具體的操作步驟如下圖所示:


創(chuàng)建旋轉(zhuǎn)分類、實現(xiàn)旋轉(zhuǎn)處理

在我們的VC中就只需要引入頭文件進(jìn)行方法調(diào)用即可:


旋轉(zhuǎn)方法的調(diào)用
  1. 圖片的任意位置剪切
    實現(xiàn)思路:首先獲取自己需要處理的圖片,然后對他的圖形上下文進(jìn)行剪切繪制處理,最后將處理后的內(nèi)容轉(zhuǎn)化為圖片形式。

具體的操作步驟如下圖所示:


創(chuàng)建剪切分類、實現(xiàn)剪切處理

在我們的VC中就只需要引入頭文件進(jìn)行方法調(diào)用即可:


剪切方法的調(diào)用
  1. 圖片的任意拉伸
    實現(xiàn)思路:首先獲取自己需要處理的圖片,然后對他的圖形上下文進(jìn)行拉伸處理,最后將處理后的內(nèi)容轉(zhuǎn)化為圖片形式。

具體的操作步驟如下圖所示:


創(chuàng)建拉伸分類、實現(xiàn)拉伸處理
拉伸方法的調(diào)用

以上就是通過創(chuàng)建分類,處理圖形上下文來實現(xiàn)圖片的任意旋轉(zhuǎn)、剪切以及拉伸操作的方法。其實通過上述方法,我們可以看出對于圖片的這些處理,其根本就在于對圖形上下文ImageContext的一系列處理以及他和圖片本身的轉(zhuǎn)化。

另外、兩個小建議:(1)大家在處理圖片的時候盡量去使用同一張圖片對其進(jìn)行不同的操作,這樣可以更直觀的看出來到底有怎樣不同的效果。(2)關(guān)于圖形上下文這一方面的內(nèi)容在平時的一般開發(fā)中并不常用,知識點上可能會覺得有好多之前未曾接觸過的內(nèi)容,這就需要大家多去搜索和、學(xué)習(xí)和積累了。

希望我的文章能對大家有所幫助。

我是姣爺、我在簡書、和你們一起、加油!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容