二維碼掃描之rectOfInterest

設(shè)置掃描范圍

在AVCaptureMetadataOutput中有一個(gè)叫做rectOfInterest的CGRect類型屬性。

/*!
 @property rectOfInterest
 @abstract
    Specifies a rectangle of interest for limiting the search area for visual metadata.
 
 @discussion
    The value of this property is a CGRect that determines the receiver's rectangle of interest for each frame of video. The rectangle's origin is top left and is relative to the coordinate space of the device providing the metadata. Specifying a rectOfInterest may improve detection performance for certain types of metadata. The default value of this property is the value CGRectMake(0, 0, 1, 1). Metadata objects whose bounds do not intersect with the rectOfInterest will not be returned.
 */
@property(nonatomic) CGRect rectOfInterest NS_AVAILABLE_IOS(7_0);

這個(gè)屬性用來限制掃描范圍参淹。
這個(gè)屬性的每一個(gè)值代表的是對應(yīng)軸上的比例大小。
設(shè)置的時(shí)候當(dāng)做是橫屏來寫就可以了荔燎。

獲取rectOfInterest

//readerViewBounds為屏幕大小骂因,rect為掃描view的frame
-(CGRect)getScanCrop:(CGRect)rect readerViewBounds:(CGRect)readerViewBounds {
    CGFloat x,y,width,height;
    x = (CGRectGetHeight(readerViewBounds)-CGRectGetHeight(rect))/2/CGRectGetHeight(readerViewBounds);
    y = (CGRectGetWidth(readerViewBounds)-CGRectGetWidth(rect))/2/CGRectGetWidth(readerViewBounds);
    width = CGRectGetHeight(rect)/CGRectGetHeight(readerViewBounds);
    height = CGRectGetWidth(rect)/CGRectGetWidth(readerViewBounds);
    return CGRectMake(x, y, width, height);
}

縮放

需要兩個(gè)全局變量

    AVCaptureDevice * currentdevice; //獲取攝像設(shè)備
    CGFloat _initialPinchZoom; //縮放系數(shù)

添加Pinch手勢
Pinch手勢響應(yīng)

- (void)pinchDetected:(UIPinchGestureRecognizer*)recogniser {
//檢查是否有可用的視頻設(shè)備
    if (!currentdevice) {
        return;
    }
// 在手勢識別開始時(shí),記錄初始縮放系數(shù)练对。
    if (recogniser.state == UIGestureRecognizerStateBegan) {
        _initialPinchZoom = currentdevice.videoZoomFactor;
    }
//在開始修改視頻設(shè)備參數(shù)前,鎖定視頻設(shè)備吹害。鎖定成功后螟凭,計(jì)算縮放系數(shù)(設(shè)置縮放范圍)。
    NSError *error = nil;
    [currentdevice lockForConfiguration:&error];
    if (!error) {
        CGFloat zoomFactor;
        CGFloat scale = recogniser.scale;
        if (scale < 1.0f) {
            zoomFactor = _initialPinchZoom - pow(currentdevice.activeFormat.videoMaxZoomFactor, 1.0f - recogniser.scale);
        } else {
            zoomFactor = _initialPinchZoom + pow(currentdevice.activeFormat.videoMaxZoomFactor, (recogniser.scale - 1.0f) / 2.0f);
        }
        zoomFactor = MIN(10.0f, zoomFactor);
        zoomFactor = MAX(1.0f, zoomFactor);
        currentdevice.videoZoomFactor = zoomFactor;
// 解鎖視頻設(shè)備
        [currentdevice unlockForConfiguration];
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末它呀,一起剝皮案震驚了整個(gè)濱河市螺男,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌纵穿,老刑警劉巖下隧,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異谓媒,居然都是意外死亡淆院,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門句惯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來土辩,“玉大人支救,你說我怎么就攤上這事】教裕” “怎么了搂妻?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長辕棚。 經(jīng)常有香客問我,道長邓厕,這世上最難降的妖魔是什么逝嚎? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮详恼,結(jié)果婚禮上补君,老公的妹妹穿的比我還像新娘。我一直安慰自己昧互,他們只是感情好挽铁,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著敞掘,像睡著了一般叽掘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上玖雁,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天更扁,我揣著相機(jī)與錄音,去河邊找鬼赫冬。 笑死浓镜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劲厌。 我是一名探鬼主播膛薛,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼补鼻!你這毒婦竟也來了哄啄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辽幌,失蹤者是張志新(化名)和其女友劉穎增淹,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乌企,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡虑润,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了加酵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拳喻。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哭当,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出冗澈,到底是詐尸還是另有隱情钦勘,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布亚亲,位于F島的核電站彻采,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捌归。R本人自食惡果不足惜肛响,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望惜索。 院中可真熱鬧特笋,春花似錦、人聲如沸巾兆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽角塑。三九已至蔫磨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吉拳,已是汗流浹背质帅。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留留攒,地道東北人煤惩。 一個(gè)月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像炼邀,于是被迫代替她去往敵國和親魄揉。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容