1.歸結(jié)書畫裝裱的本質(zhì)就是給一張圖片上層覆蓋一張相框圖,但是由于圖片比例不定,上層覆蓋圖要進(jìn)行寬或者高的不等距拉伸出吹,相框中間為透明色,可取最中間點(diǎn)進(jìn)行拉伸填充辙喂,可以保證相框四角不會(huì)出現(xiàn)形變捶牢。
2.上層覆蓋圖添加完成后要對圖片進(jìn)行保存鸠珠,所有的視圖都是添加在一個(gè)透明的父視圖上,使用UIGraphicsBeginImageContextWithOptions方法先將整體父視圖及其上所有子視圖轉(zhuǎn)為UIImage秋麸,但是希望只保留畫框及原圖視圖部分渐排,這時(shí)需要遍歷UIImage的所有像素點(diǎn),找出最上灸蟆、最下驯耻、最左、最右四個(gè)非透明像素點(diǎn)的point炒考,然后使用這4個(gè)point對整體視圖進(jìn)行裁切吓歇,即可得到最終需要的圖片,即添加了相框的圖片票腰。
3.代碼中已做詳細(xì)備注及說明,如有需要女气,可下載查看杏慰。https://github.com/ZKhercules/PictureFrame
以下為圖片示例。
想對其進(jìn)行書畫裝裱炼鞠,添加畫框的原圖缘滥。
對裝裱圖按原圖的寬高進(jìn)行拉伸,然后覆蓋在原圖上谒主。
此圖中紅色區(qū)域?yàn)楫嫴汲螅簿褪歉竩iew,藍(lán)色區(qū)域?yàn)橄胱罱K得到的結(jié)果圖霎肯。
通過對父view透明像素過濾及截取擎颖,最終得到的結(jié)果圖
畫框可添加至各種比例的圖片上
畫框可添加至各種比例的圖片上