दिलचस्प पोस्ट
सी में पैरामीटर के रूप में आप फ़ंक्शन कैसे पास करते हैं? ब्राउज़र के साथ परस्पर विरोधी के बिना एक ऐप्लिकेशन पोर्ट 80 / HTTP का उपयोग कैसे कर सकता है? टीएफ़.एनएन.मैक्स_पूल में 'सएम' और 'वैलिड' पैडिंग के बीच क्या अंतर है tensorflow? AJAX डेटा के लिए json ऑब्जेक्ट या सरणी को जेसन में परिवर्तित करें जावा में "यह" का क्या अर्थ है? (एचटीएसीएसी) डायरेक्ट यूआरएल एक्सेस से फाइल को कैसे रोकें? स्केलेक पर VZEROUPPER के बिना यह एसएसई कोड 6 गुना धीमा क्यों है? अपाचे – REMOTE_USER चर कैसे प्राप्त करें दशमलव संख्या के लिए एक पूर्णांक .parseInt () कैसे करें? जावास्क्रिप्ट बड़े पूर्णांक में समाहित जावा में स्ट्रिंग में वर्तमान दिनांक को कैसे परिवर्तित किया जाए? IPhone पर एक 3D मॉडल प्रदर्शित करना चाहते हैं: आरंभ करने के लिए कैसे? वृक्ष तालिका के लिए एसक्यूएल क्वेरी मैं विजुअल स्टूडियो 2008 में एक नया CUDA प्रोजेक्ट कैसे शुरू करूं? मोंगोस, खोजने के साथ एक विशिष्ट क्षेत्र का चयन करें

आईओएस प्रोग्राम को फोटो लेता है I

मुझे पता है यह संभव है, यह कुछ क्षुधा में देखा (iGotYa मुझे सबसे ज्यादा विश्वास है)। मुझे पता है कि फ़ोटो लेने के लिए सब कुछ कैसे सेट करना है, इसे और सब कुछ सहेजना लेकिन यह कैसे प्रोग्राम किया जा सकता है? बस उपयोगकर्ता को कुछ बटन (नियमित दृश्य नियंत्रक में) पर क्लिक करने के बाद और यह स्वत: सामने वाले कैमरे का उपयोग करके एक चित्र लेगा और इसे सहेजने (या नहीं, इसे केवल एक UIImage के रूप में)

धन्यवाद!

Solutions Collecting From Web of "आईओएस प्रोग्राम को फोटो लेता है I"

यह बहुत आसान है, बस AVFoundation संदर्भ मार्गदर्शिका का उपयोग करें:

https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html

अगर आप नहीं चाहते कि यूजर को पूर्वावलोकन इनपुट देखना है तो आप कोड के सेट पूर्वावलोकन परत हिस्से को छोड़ सकते हैं।

संपादित करें: अधिक विस्तृत होने के लिए

1) आप AVFoundation का उपयोग करके अपने कैप्चर कॉन्फ़िगरेशन को सेट करते हैं।

  • अग्रेषण के लिए कैमरा इनपुट सेट करें, फ्लैश आदि बंद करें आदि

2) आप जहां वीडियो पूर्वावलोकन परत सेट है उस हिस्से को छोड़ें।

3) आप कैप्चर स्टिल इमेज एसिंक्रोनसफ्रें कनेक्शन: कॉलिंग हंडलर: विधि जब भी आप तस्वीर लेना चाहते हैं।

नोट: यदि आप फ़्लैश को सुनना नहीं चाहते हैं और ऐसे में आप कुछ देशों (उदाहरण के लिए जापान) में उपयोगकर्ता अधिकारों का उल्लंघन कर रहे हैं। एक ऐसा वैकल्पिक हल जो मुझे ऐसा करने का पता है, एक वीडियो के फ्रेम को कैप्चर करते हुए (फ़्लैश ट्रिगर नहीं करता)।

आप इसे AVFoundation के बिना भी कर सकते हैं और मेरी राय में यह केवल UIImagePickerController का उपयोग करने के लिए एक आसान तरीका है। 3 शर्तें हैं:

  1. जाहिर है डिवाइस को एक कैमरा होना चाहिए
  2. आपको कैमरा नियंत्रण छुपाएंगे
  3. फिर बस UIImagePickerController से ले लेना पिक्चर विधि का उपयोग करें

नीचे एक सरल उदाहरण है कि आप आमतौर पर एक बटन पुश के बाद ट्रिगर करते हैं

 - (IBAction)takePhoto:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.cameraDevice = UIImagePickerControllerCameraDeviceFront; picker.showsCameraControls = NO; [self presentViewController:picker animated:YES completion:^ { [picker takePicture]; }]; } 

वीएलबीसीएमएरा वीव एक लाइब्रेरी है जो तस्वीर लेने के लिए एवीएफ फाउंडेशन का इस्तेमाल करती है।

एक पूर्वावलोकन दृश्य में दिखाया गया है, जिसे आप एक तस्वीर लेने के लिए विधि VLBCameraView # takePicture प्रोग्राम को कॉल कर सकते हैं।

कोकोपोड्स के साथ आता है

.h फ़ाइल में

 @interface ABCViewController : UIViewController @property (strong, nonatomic) IBOutlet UIImageView *imageView; - (IBAction)takePhoto: (UIButton *)sender; - (IBAction)selectPhoto:(UIButton *)sender; @end 

फ़ाइल में

 @interface ABCViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate> - (IBAction)takePhoto:(UIButton *)sender { if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Device has no camera" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [myAlertView show]; } else { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType = UIImagePickerControllerSourceTypeCamera; [self presentViewController:picker animated:YES completion:NULL]; } } - (IBAction)selectPhoto:(UIButton *)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; [self presentViewController:picker animated:YES completion:NULL]; } - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *chosenImage = info[UIImagePickerControllerEditedImage]; self.imageView.image = chosenImage; [picker dismissViewControllerAnimated:YES completion:NULL]; } - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [picker dismissViewControllerAnimated:YES completion:NULL]; } 

यहां उद्देश्य-सी कस्टम कैमरा के लिए कोड है। आप अपनी इच्छा के अनुसार सुविधाओं, बटन जोड़ सकते हैं

 #import "CustomCameraVC.h" @interface CustomCameraVC () { BOOL frontCamera; } @property (strong,nonatomic) AVCaptureSession *captureSession; @property (strong,nonatomic) AVCaptureStillImageOutput *stillImageOutput; @property (strong,nonatomic) AVCaptureVideoPreviewLayer *videoPreviewLayer; @property (weak, nonatomic) IBOutlet UIView *viewCamera; @end @implementation CustomCameraVC - (void)viewDidLoad { [super viewDidLoad]; } -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:YES]; frontCamera = NO; [self showCameraWithFrontCamera:frontCamera]; } -(void)showCameraWithFrontCamera:(BOOL)flag { self.captureSession = [[AVCaptureSession alloc]init]; self.captureSession.sessionPreset = AVCaptureSessionPresetPhoto; AVCaptureDevice *captureDevice; if(flag) { captureDevice= [self frontCamera]; } else { captureDevice= [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; } NSError *error = nil; AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:captureDevice error:&error]; [self.captureSession addInput:input]; self.stillImageOutput = [AVCaptureStillImageOutput new]; self.stillImageOutput.outputSettings = @{AVVideoCodecKey:AVVideoCodecJPEG}; [self.captureSession addOutput:_stillImageOutput]; self.videoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.captureSession]; self.videoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill; self.videoPreviewLayer.connection.videoOrientation = AVCaptureVideoOrientationPortrait; [self.viewCamera.layer addSublayer:self.videoPreviewLayer]; [self.captureSession startRunning]; self.videoPreviewLayer.frame = self.viewCamera.bounds; } - (AVCaptureDevice *)frontCamera { NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; for (AVCaptureDevice *device in devices) { if ([device position] == AVCaptureDevicePositionFront) { return device; } } return nil; } - (IBAction)btnCaptureImagePressed:(id)sender { AVCaptureConnection * videoConnection = [_stillImageOutput connectionWithMediaType:AVMediaTypeVideo]; [_stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler:^(CMSampleBufferRef _Nullable sampleBuffer, NSError * _Nullable error) { NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:sampleBuffer]; UIImage *image = [[UIImage alloc]initWithData: imageData]; UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); }]; } @end