Как мы можем масштабировать экран камеры программно в iphone? - PullRequest
2 голосов
/ 22 сентября 2009

Возможно ли программно увеличить изображение камеры, я проверил APi, предоставленный Apple, для этого, но в SDK нет API для масштабирования камеры. В представлении с прокруткой есть только функция масштабирования, есть ли способ, которым мы можем увеличить изображение с нашей камеры.

Даже в некоторых приложениях в магазине приложений есть функция масштабирования, отличная от того, как это возможно.

Ответы [ 2 ]

3 голосов
/ 22 сентября 2009

На iphone нет аппаратного увеличения.

Вам придется увеличить обрезанную часть изображения.

1 голос
/ 15 июня 2012

Вот мое решение: Сначала вам нужно иметь представление, в котором вы будете устанавливать свои элементы управления (вы можете написать это в своем методе 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...