मैं यहाँ की तरह AVFoundation के साथ तस्वीर ले रहा हूँ: http://red-glasses.com/index.php/tutorials/ios4-take-photos-with-live-video-preview-using-avfoundation/Instagram ऐप में avfoundation के साथ iphone में स्क्वायर पिक्चर कैसे लें?
एक टुकड़ा:
[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 पिक्सल (वर्ग चित्र)। ऐसा लगता है कि Instagram यह कर रहा है (या वे छवियों को फसल कर रहे हैं?)।
मैं स्क्वायर होने के लिए ली गई तस्वीर का आकार कैसे निर्दिष्ट कर सकता हूं? मुझे पता है कि फोन पर आकार कैसे बदलें, लेकिन यदि लिया गया चित्र वर्ग नहीं है, तो परिणाम अच्छा नहीं है।
कोई विचार?
क्या यह एकमात्र तरीका है? मुझे लगता है कि अगर इसका आकार बदला गया तो छवि खराब दिखाई देगी। क्या कस्टम आयाम की तस्वीर लेना संभव है और इसका आकार बदलना संभव नहीं है? – DixieFlatline
कोई भी कैमरा अलग-अलग आयामों में चित्र नहीं ले सकता है। यदि आप छोटी छवियों का उपयोग करते हैं तो यह हमेशा पूर्ण रिज़ॉल्यूशन का उपयोग करेगा और इसे आकार देगा। इंस्टाग्राम की पूरी छवि से बाहर निकलने की तुलना में कोई अन्य संभावना नहीं है। इस उदाहरण में आकार '400px' है लेकिन आप देख सकते हैं कि मूल छवि कितनी व्यापक है और ऊंचाई में एक ही आकार का एक रेक्ट बनाते हैं। इसके परिणामस्वरूप एक स्क्वायर छवि होगी और आप ऊपर और नीचे कुछ पिक्सल खो देंगे। –
एक छवि को स्केलिंग, सभ्य इंटरपोलेशन मानते हुए, इसे _better_ खराब नहीं दिखता है, इसलिए आपके डर निराधार हैं। – podperson