2013-01-14 27 views
1

我正在開發OCR識別應用程序,我想讓用戶選擇手動選擇要在其上執行OCR的區域(在相機選擇期間)。現在,我面臨的問題是,我通過覆蓋 - (void)drawRect:(CGRect)矩形方法在相機屏幕上提供了一個矩形,但是,儘管存在矩形,攝像機仍然試圖將焦點放在整個拍攝區域而不只是在指定的矩形內。xcode自定義疊加捕獲

換句話說,我不希望整個圖像被髮送進行處理,而只是矩形內捕獲圖像的一部分。我設法提供了一個矩形,但沒有功能。我不希望整個屏幕區域被聚焦,而只是矩形下面的區域。

我希望這是有道理的,因爲我盡力解釋它。 謝謝你,讓我知道

回答

1

流使用AVCaptureOutput然後允許用戶在UIScrollView相機的圖像捏/拉/平移相機到合適的地方......現在用UIGraphics圖片Context採取了「絲網拍攝「這個區域併發送UIImage.CGImage進行處理。

+0

嗨,Albert,感謝您的回覆。如果我不想實現捏/拉特徵,那麼我該如何提供一個固定的矩形?謝謝 – Mikeazio

+0

這應該也是可行的。使用一個'UIView'並按照你想要的方式調整它。 (如果你願意,你甚至可以使用半透明圖像作爲視圖的背景)。確保視圖具有較低的「alpha」設置,以便用戶可以看到它背後的情況。通過調整'UIView.center'到'CGPointMake'來移動UIView,它具有觸摸的x和y座標,可以使用'touchesMoved'或'UISwipeGestureRecognizer' ... –

+0

現在當你實現你的'UIGraphics' Image'Context'將邊界('bounds')設置爲'UIViews'的座標和大小('bounds.size'或'view.frame.size')...現在將視圖設置爲'hidden',這樣它就不會得到通過設置「隱藏」值爲false,將完成的設置恢復爲可見狀態,然後執行「截圖」。 –