如何在iphone中以编程方式缩放相机屏幕?

时间:2009-09-21 20:41:48

标签: iphone

这是否可以通过编程方式缩放相机图片,我检查了Apple提供的APi,但SDK中没有用于缩放相机的API。滚动视图中只有缩放功能,有什么方法可以缩放我们的相机视图。

甚至Appstore上的某些应用程序也具有缩放功能,而不是可能的。

2 个答案:

答案 0 :(得分:3)

iphone上没有硬件变焦。

您必须放大图像的裁剪部分。

答案 1 :(得分:1)

这是我的解决方案: 首先,您需要有一个视图,您可以在其中设置控件(您可以在viewDidLoad方法上写这个):

UIView *miControllingView = [[UIView alloc]initWithFrame:CGRectMake(x,y,width,height)];

然后实现一个介于1和5之间的滑块(这将使我的图像从1x增加到5x)。在.h文件中定义此元素,以便您可以在整个班级中访问其值:

zoom = [[UISlider alloc]initWithFrame:CGRectMake(sliderX, sliderY, sliderWidth, sliderHeight)];
[zoom setMaximumValue:5];
[zoom setMinimumValue:1];
[zoom setContinuous:YES];
[zoom addTarget:self action:@selector(zoomChange) forControlEvents:UIControlEventValueChanged];
[myControllingView addSubview:zoom];

然后您需要将控制视图添加到摄像机视图中:

[myPicker setCameraOverlayView:myControllingView];

最后,定义选择器的行为:

-(void)zoomChange{
     [myPicker setCameraViewTransform:CGAffineTransformMakeScale([zoom value],[zoom value])];}

这完全适合我。

P.S。我也隐藏了相机控件,所以它看起来更整洁:

myPicker.showsCameraControls = NO;