我想在相机的图像上画出那个地方的图钉和信息。请任何人帮助我..我已经在应用程序委托中进行了编码,代码是:
overlay = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; overlay.opaque = NO; overlay.backgroundColor=[UIColor clearColor];
[window addSubview:overlay];
#define CAMERA_TRANSFORM 1.24299
UIImagePickerController *uip;
@try {
uip = [[[UIImagePickerController alloc] init] autorelease];
uip.sourceType = UIImagePickerControllerSourceTypeCamera; uip.showsCameraControls = NO;
uip.toolbarHidden = YES;
uip.navigationBarHidden = YES;
uip.wantsFullScreenLayout = YES;
uip.cameraViewTransform = CGAffineTransformScale(uip.cameraViewTransform, CAMERA_TRANSFORM, CAMERA_TRANSFORM);
}
@catch (NSException * e)
{ [uip release];
uip = nil;
}
@finally
{ if(uip) {
[overlay addSubview:[uip view]]; [overlay release]; }
}它显示了我想要检测的位置的camera.Not,并将大头针放在该位置上,显示了该位置的信息。
发布于 2011-09-07 21:57:40
这里有一个更简单的方法来检测摄像头的存在:
BOOL isCameraAvailable = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];恐怕还有99%的工作要做。粗略地说,您需要以下内容:
请注意,球面几何中的距离是用半正弦公式计算的,但是如果我们假设笛卡尔坐标,那么精度损失对于小距离来说是不相关的,所以我们就这样做。
offset * (width in pixels / horizontal field vision)以获得表示点的标签的偏移(以像素为单位)。对垂直偏移执行相同的操作。中旋转该对象
要定位标签,您可能需要使用3D引擎或围绕设备(x=x+r*cos、y=y+r*sin)旋转它们,并使用广告牌效果。
如果这听起来像是太多的工作,那么专注于使用offset * width in pixels / horizontal field vision实现对方位变化的响应。水平视场是相机的可视角度。对于人类来说是180º,对于iPhone 3是37.5,而对于iPhone 4是45º吗?宽度为320,因此,如果您的视线远离目标,则必须将其水平移动到远离中心的320*10/37.5像素。
如果指南针的读数有太多噪声,请添加一个低通滤波器。
发布于 2011-09-30 17:09:43
https://stackoverflow.com/questions/7334523
复制相似问题