需要做一個(gè)調(diào)用相機(jī),然后相機(jī)帶相框的功能,我重寫了相機(jī)的cameraOverlayView,然后把相框圖片的view放在了cameraOverlayView上,照完象后,我需要將照下的照片和相框圖融合,請問有什么好的融合算法嗎
2 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
希望能幫到你:
比如說我們現(xiàn)在有兩張圖片需要合并,是把一個(gè)滑稽的帽子放到一個(gè)人的頭上。這里是兩個(gè) UIImage:
UIImage *personImage = [UIImage imageNamed:@"person.jpg"];UIImage *hatImage = [UIImage imageNamed:@"hat.png];
這種情況下我們需要最終合成的圖片大小是和 person 一致的,讓我們獲得我們需要的最終圖片的大?。?/p>
CGSize finalSize = [personImage size];
然后再搞到 hat 的大小,可能比 person 要小得多:
CGSize hatSize = [hatImage size];
現(xiàn)在我們需要?jiǎng)?chuàng)建一個(gè) graphics context 來畫我們的東西:
UIGraphicsBeginImageContext(finalSize);
graphics context 就像一張能讓我們畫上任何東西的紙。我們要做的第一件事就是把person畫上去:
[personImage drawInRect:CGRectMake(0,0,finalSize.width,finalSize.height)];
然后再把 hat 畫在合適的位置:
[hatImage drawInRect:CGRectMake(HAT_X_POS,HAT_Y_POS,hatSize.width,hatSize.height)];
接著通過下面的語句創(chuàng)建新的 UIImage :
UIImage *newImage = [UIGraphicsGetImageFromCurrentImageContext();
最后,我們必須得清理并關(guān)閉這個(gè)我們再也不需要的 context :
UIGraphicsEndImageContext();

慕慕森
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
我比較推崇自己去創(chuàng)建context,1L的方法有時(shí)候以前用的時(shí)候出現(xiàn)過只獲取一半的問題
- 2 回答
- 0 關(guān)注
- 213 瀏覽
添加回答
舉報(bào)
0/150
提交
取消