Biorę zdjęcie z AVFoundation jak tutaj: http://red-glasses.com/index.php/tutorials/ios4-take-photos-with-live-video-preview-using-avfoundation/Jak zrobić kwadratowe zdjęcie w iPodzie z avFoundation jak w aplikacji na Instagramie?
Jeden fragment:
[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];
rozmiar zdjęcia tak daleko jak się dowiedziałem jest ustawiony tutaj:
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset =AVCaptureSessionPresetMedium; //medium on my iphone4 is 640*480
Ale tu są tylko kilka ustawień możliwe i nie można ustawić na niestandardowy rozmiar.
Chciałbym, aby w miarę możliwości obrazy miały proporcje 1: 1, na przykład 400 x 400 pikseli (obrazy kwadratowe). Wygląda na to, że instagram to robi (czy przycinają obrazy?).
Jak określić rozmiar robienia zdjęcia kwadratowego? Wiem, jak zmienić rozmiar w telefonie, ale jeśli zrobione zdjęcie nie jest kwadratowe, wynik nie jest dobry.
Każdy pomysł?
Czy to jedyny sposób? Myślę, że obraz wyglądałby gorzej, gdyby został zmieniony. Czy można zrobić zdjęcie niestandardowego wymiaru i nie zmieniać jego rozmiaru? – DixieFlatline
ani jedna kamera nie może robić zdjęć w różnych wymiarach. Zawsze użyje pełnej rozdzielczości i zmniejszy rozmiar, jeśli użyjesz mniejszych obrazów. Instagram również nie ma innej możliwości niż przycięcie prostokąta z pełnego obrazu. W tym przykładzie rozmiar wynosi '400px', ale możesz zobaczyć, jak szeroki jest oryginalny obraz i zrobić prostokąt o tym samym rozmiarze. Spowoduje to powstanie kwadratu i utracisz kilka pikseli powyżej i poniżej. –
Skalowanie obrazu w dół, przy założeniu przyzwoitej interpolacji, sprawi, że nie będzie gorzej wyglądało, więc twoje obawy są bezpodstawne. – podperson