Размер на изрязване на камера Objective-C

Имам рутина, която използвам, за да задействам камерата, за да направя снимка. След като камерата направи снимката, на потребителя се дава опция да изреже изображението по подразбиране, преди делегатът да ми върне UIImage. Има ли някакъв начин, по който мога да предам динамичен CGRect, за да направя тази област за изрязване по подразбиране с определен размер? Едно нещо, което трябва да спомена е, че приложението е пейзажно приложение за iPad.

Ето примерен код:

-(void)triggerCamera:(id)sender
{
    UIImagePickerController *camera = [[UIImagePickerController alloc] init];
    camera.delegate = self;
    camera.allowsEditing = YES;
    camera.sourceType = UIImagePickerControllerSourceTypeCamera;
    //pass in some sort of CGRect ??
    [self presentViewController:camera animated:YES completion:NULL];
}


-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info {

    UIImage *img = [info objectForKey: UIImagePickerControllerOriginalImage];
    //process my image further
}

person AgnosticDev    schedule 24.02.2014    source източник


Отговори (2)


За съжаление не можете да зададете размер на изрязване. Имах работа със същия проблем преди повече от 2 години и се забих в създаването на мой собствен viewController за изрязване на изображение.

person Josip B.    schedule 24.02.2014
comment
Страхувах се от това. Надявах се, че мога да убия 2 заека с един камък, така че да не се налага да преоразмерявам/изрязвам изображението, след като бъде върнато от делегата. - person AgnosticDev; 24.02.2014

Може би погледнете GKImagePicker в GitHub. Този проект не е имал много активност през последните няколко месеца (може би повече), но може да си струва да опитате. Той дори идва с опция за променлива площ за изрязване. Не съм го пробвал сам, но изпълнението изглежда доста просто:

self.imagePicker = [[GKImagePicker alloc] init];
self.imagePicker.cropSize = CGSizeMake(320, 90);
self.imagePicker.delegate = self;

[self presentModalViewController:self.imagePicker.imagePickerController animated:YES];
person Corey    schedule 24.02.2014
comment
Добре, ще го проверя. Благодаря Кори! - person AgnosticDev; 24.02.2014
comment
Опитах този проект и не можах да получа желания резултат. Искам да мога да получа динамичен размер на изрязването, след като направя снимката. Това, което трябваше да спомена, е, че приложението ми е само пейзажно, приложение за iPad. Ще редактирам въпроса си за яснота. - person AgnosticDev; 24.02.2014