我的CvVideoCamera
自动旋转,我不希望它。这已在 bugtracker 上提出,但有一段时间没有活动。
问问题
2843 次
3 回答
27
子类CvVideoCamera
,只需删除轮换代码。我希望我的方向始终是纵向的,所以这很简单:
MyCvVideoCamera.h
#import <opencv2/highgui/cap_ios.h>
@interface MyCvVideoCamera : CvVideoCamera
- (void)updateOrientation;
- (void)layoutPreviewLayer;
@property (nonatomic, retain) CALayer *customPreviewLayer;
@end
MyCvVideoCamera.m
#import "MyCvVideoCamera.h"
@implementation MyCvVideoCamera
- (void)updateOrientation;
{
// nop
}
- (void)layoutPreviewLayer;
{
if (self.parentView != nil) {
CALayer* layer = self.customPreviewLayer;
CGRect bounds = self.customPreviewLayer.bounds;
layer.position = CGPointMake(self.parentView.frame.size.width/2., self.parentView.frame.size.height/2.);
layer.bounds = bounds;
}
}
@end
于 2013-02-14T14:21:38.610 回答
3
为了使它起作用,我必须添加:
@protocol CvVideoCameraDelegateMod <CvVideoCameraDelegate>
@end
到上面描述的 MyCvVideoCamera.h
和
@synthesize customPreviewLayer = _customPreviewLayer;
到 MyCvVideoCamera.m
于 2014-03-01T23:42:01.080 回答
3
快速修复在初始化 CVVideoCamera 之前添加这些行
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait]; [[UIDevice currentDevice] setValue:value forKey:@"orientation"];
self.videoCamera = [[CvVideoCamera alloc] initWithParentView:self.previewImage]; self.videoCamera.delegate = self;
于 2017-01-27T07:38:15.980 回答