1.歸結(jié)書畫裝裱的本質(zhì)就是給一張圖片上層覆蓋一張相框圖,但是由于圖片比例不定,上層覆蓋圖要進行寬或者高的不等距拉伸,相框中間為透明色,可取最中間點進行拉伸填充,可以保證相框四角不會出現(xiàn)形變。
2.上層覆蓋圖添加完成后要對圖片進行保存,所有的視圖都是添加在一個透明的父視圖上,使用UIGraphicsBeginImageContextWithOptions方法先將整體父視圖及其上所有子視圖轉(zhuǎn)為UIImage,但是希望只保留畫框及原圖視圖部分,這時需要遍歷UIImage的所有像素點,找出最上、最下、最左、最右四個非透明像素點的point,然后使用這4個point對整體視圖進行裁切,即可得到最終需要的圖片,即添加了相框的圖片。
3.代碼中已做詳細備注及說明,如有需要,可下載查看。https://github.com/ZKhercules/PictureFrame
以下為圖片示例。

想對其進行書畫裝裱,添加畫框的原圖。
對裝裱圖按原圖的寬高進行拉伸,然后覆蓋在原圖上。

此圖中紅色區(qū)域為畫布,也就是父view,藍色區(qū)域為想最終得到的結(jié)果圖。
通過對父view透明像素過濾及截取,最終得到的結(jié)果圖
畫框可添加至各種比例的圖片上
畫框可添加至各種比例的圖片上