如何在iPhone Camera中使用UIButtons和UIImagePickerCameraControl自定义ZoomIn和ZoomOut功能?

时间:2011-11-16 05:39:57

标签: iphone camera uiimagepickercontroller zooming

我是新手在iPhone应用程序中使用UIImagePickerController。我在UIView中添加了两个UIButtons,并将该视图设置为UIImagePickerController的overlayview。当用户点击ZoomIn按钮时,摄像机图像应该变焦,当用户点击ZoomOut按钮时,摄像机图像应缩小。我已经尝试过以下代码,但它无效。

imgpicker.wantsFullScreenLayout = YES;
imgpicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform, CAMERA_TRANSFORM_X, CAMERA_TRANSFORM_Y);
imgpicker.view.userInteractionEnabled=YES;

CAMERA_TRANSFORM_X 1 CAMERA_TRANSFORM_Y 1.24299

imgpicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform,CAMERA_TRANSFORM_X,CAMERA_TRANSFORM_Y); 我在两个按钮单击事件中都使用了这一行。在我使用的zoomin中,

imgpicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform, CAMERA_TRANSFORM_X+1.0, CAMERA_TRANSFORM_Y+1.0);

在我使用的Zoomout中,

imgpicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform, CAMERA_TRANSFORM_X-1.0, CAMERA_TRANSFORM_Y-1.0);

您能否提出示例代码或想法来解决问题?请帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

感谢您对我的问题感兴趣。 我找到了自己问题的答案。我做了一个盲目的工作,这就是为什么我无法得到正确的预期输出。我在UIView(OverlayView)类中放置了ZoomIn和ZoomOut按钮,所以我试图从这个UIView中调用UIImagePickerController,这就是问题所在。现在,我在本地创建了UIView并将这两个按钮放在这个UIView中。现在,我从本地调用了UIImagePickerController,因此它的效果很好。

X = 1.00;
Y = 1.24299;

imgpicker.cameraViewTransform = CGAffineTransformScale(imgpicker.cameraViewTransform, X, Y);

X = X + 1.00;
Y = Y + 1.24299;

这适用于ZoomIn并更改ZoomOut函数的值X = X - 1.00; Y = Y - 1.24299;。 X和Y是Float数据类型。

感谢。