Я фотографирую с помощью AVFoundation, как здесь: http://red-glasses.com/index.php/tutorials/ios4-take-photos-with-live-video-preview-using-avfoundation/
Один фрагмент:
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
CFDictionaryRef exifAttachments = CMGetAttachment( imageSampleBuffer, kCGImagePropertyExifDictionary, NULL);
if (exifAttachments)
{
// Do something with the attachments.
NSLog(@"attachements: %@", exifAttachments);
}
else
NSLog(@"no attachments");
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
UIImage *image = [[UIImage alloc] initWithData:imageData];
Размер картинки, насколько я узнал, установлен здесь:
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset =AVCaptureSessionPresetMedium; //medium on my iphone4 is 640*480
Но здесь возможны лишь несколько настроек, и их нельзя установить на нестандартный размер.
Я хотел бы, чтобы у сделанных снимков было соотношение сторон 1: 1, если это возможно, например 400x400 пикселей (квадратные изображения). Кажется, инстаграмм это делает (или они кадрируют изображения?).
Как сделать так, чтобы размер снимка был квадратным? Я знаю, как изменить размер на телефоне, но если полученный снимок не квадратный, результат плохой.
Любая идея?