繁体   English   中英

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

[英]How can we Zoom a camera screen by programmatically in iphone?

是否可以通过程序缩放相机图片,为此我检查了Apple提供的APi,但SDK中没有用于相机缩放的API。 仅滚动视图中只有缩放功能,我们可以通过任何方式缩放相机视图。

Appstore上甚至某些App都具有缩放功能,这是不可能实现的。

iPhone上没有硬件变焦。

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

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

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

然后,实现一个介于1到5之间的值的滑块(这会使我的图像的大小从1倍增加到5倍)。 在.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])];}

这完全适合我。

PS我也隐藏了相机控件,因此看起来更加整洁:

myPicker.showsCameraControls = NO;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM