2010-10-07 51 views
4

我打開相機視圖並將圖像作爲疊加層。 然後我想將疊加層和相機視圖的圖像保存爲一個圖像。 以前我使用UIGetScreenImage()實現了這一點。 現在,蘋果禁止這個我的選擇是什麼? takePicture只會捕捉攝像機數據,但會覆蓋覆蓋層。 將疊加層與takePicture中的圖像合併會有點慢。捕獲相機視圖和在圖像中的onverlay

回答

1

你真的不得不合並它們,它不應該超過一秒或兩秒。喜歡的東西(未經測試,但應該給一個想法):

UIGraphicsBeginImageContext(myCapturedImage.size); 
[myCapturedImage drawAtPoint:CGPointZero]; //You might need to use drawInRect 
[overlayImage drawAtPoint:CGPointZero]; 
UIImage *combinedImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
+0

謝謝,是的,這是非常接近我終於實現了它的方式。 – ADude 2010-10-11 09:55:47

+0

我發現的一件事就是didFinishSavingWithError花了很長時間才被調用。我正在研究這個。它也似乎鎖定用戶界面直到它被調用。我會認爲圖像保存將在一個單獨的線程上完成? – ADude 2010-10-11 10:01:57

+0

您可以使用[NSThread performBlockInBackground:^ {}}在單獨的線程上運行它。確保在塊完成之前塊沒有使用任何內容! – 2010-10-11 13:28:55

相關問題