//- (CGPoint)convertToPointOfInterestFromViewCoordinates:(CGPoint)viewCoordinates
//{
// CGPoint pointOfInterest = CGPointMake(.5f, .5f);
// CGSize frameSize = [self.view frame].size;
//
// AVCaptureVideoPreviewLayer *videoPreviewLayer = [self previewLayer];
//
// if ([[self previewLayer] isMirrored]) {
// viewCoordinates.x = frameSize.width - viewCoordinates.x;
// }
//
// if ( [[videoPreviewLayer videoGravity] isEqualToString:AVLayerVideoGravityResize] ) {
// pointOfInterest = CGPointMake(viewCoordinates.y / frameSize.height, 1.f - (viewCoordinates.x / frameSize.width));
// } else {
// CGRect cleanAperture;
// for (AVCaptureInputPort *port in [[[[self captureSession] inputs] lastObject] ports]) {
// if ([port mediaType] == AVMediaTypeVideo) {
// cleanAperture = CMVideoFormatDescriptionGetCleanAperture([port formatDescription], YES);
// CGSize apertureSize = cleanAperture.size;
// CGPoint point = viewCoordinates;
//
// CGFloat apertureRatio = apertureSize.height / apertureSize.width;
// CGFloat viewRatio = frameSize.width / frameSize.height;
// CGFloat xc = .5f;
// CGFloat yc = .5f;
//
// if ( [[videoPreviewLayer videoGravity] isEqualToString:AVLayerVideoGravityResizeAspect] ) {
// if (viewRatio > apertureRatio) {
// CGFloat y2 = frameSize.height;
// CGFloat x2 = frameSize.height * apertureRatio;
// CGFloat x1 = frameSize.width;
// CGFloat blackBar = (x1 - x2) / 2;
// if (point.x >= blackBar && point.x <= blackBar + x2) {
// xc = point.y / y2;
// yc = 1.f - ((point.x - blackBar) / x2);
// }
// } else {
// CGFloat y2 = frameSize.width / apertureRatio;
// CGFloat y1 = frameSize.height;
// CGFloat x2 = frameSize.width;
// CGFloat blackBar = (y1 - y2) / 2;
// if (point.y >= blackBar && point.y <= blackBar + y2) {
// xc = ((point.y - blackBar) / y2);
// yc = 1.f - (point.x / x2);
// }
// }
// } else if ([[videoPreviewLayer videoGravity] isEqualToString:AVLayerVideoGravityResizeAspectFill]) {
// if (viewRatio > apertureRatio) {
// CGFloat y2 = apertureSize.width * (frameSize.width / apertureSize.height);
// xc = (point.y + ((y2 - frameSize.height) / 2.f)) / y2;
// yc = (frameSize.width - point.x) / frameSize.width;
// } else {
// CGFloat x2 = apertureSize.height * (frameSize.height / apertureSize.width);
// yc = 1.f - ((point.x + ((x2 - frameSize.width) / 2)) / x2);
// xc = point.y / frameSize.height;
// }
//
// }
//
// pointOfInterest = CGPointMake(xc, yc);
// break;
// }
// }
// }
//
// return pointOfInterest;
//}
convertToPointOfInterestFromViewCoordinates
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門向族,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呵燕,“玉大人,你說我怎么就攤上這事件相≡倥ぃ” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵夜矗,是天一觀的道長泛范。 經(jīng)常有香客問我,道長紊撕,這世上最難降的妖魔是什么罢荡? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮对扶,結(jié)果婚禮上柠傍,老公的妹妹穿的比我還像新娘。我一直安慰自己辩稽,他們只是感情好惧笛,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逞泄,像睡著了一般患整。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喷众,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼了赵!你這毒婦竟也來了潜支?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對情侶失蹤柿汛,失蹤者是張志新(化名)和其女友劉穎冗酿,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡裁替,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年项玛,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弱判。...
- 正文 年R本政府宣布剥哑,位于F島的核電站,受9級特大地震影響淹父,放射性物質(zhì)發(fā)生泄漏株婴。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一暑认、第九天 我趴在偏房一處隱蔽的房頂上張望困介。 院中可真熱鬧,春花似錦蘸际、人聲如沸座哩。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽根穷。三九已至,卻和暖如春导坟,著一層夾襖步出監(jiān)牢的瞬間屿良,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓递递,卻偏偏與公主長得像喷橙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子登舞,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)重慢。 張土汪:刷leetcod...
- /*類和對象 1.類和實(shí)例化定義類聲明類定義成員函數(shù)數(shù)據(jù)成員的賦值使用類的對象。 2.構(gòu)造函數(shù)數(shù)據(jù)封裝默認(rèn)構(gòu)造函數(shù)...
- 作者:史遇春 上 未注明作者的清人筆記《清稗瑣綴》中逊躁,有《白泰官》一節(jié)似踱,講的是清初八俠之一白泰官的一段江湖軼事,讀...