ios相機(jī)開(kāi)發(fā),ios專業(yè)相機(jī)

ios開(kāi)發(fā)中怎樣調(diào)用相機(jī)實(shí)現(xiàn)拍照功能

打開(kāi)相機(jī):

成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),龍里網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:龍里等地區(qū)。龍里做網(wǎng)站價(jià)格咨詢:18980820575

[cpp] view plain copy

//先設(shè)定sourceType為相機(jī),然后判斷相機(jī)是否可用(ipod)沒(méi)相機(jī),不可用將sourceType設(shè)定為相片庫(kù)

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

// if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {

// sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

// }

//sourceType = UIImagePickerControllerSourceTypeCamera; //照相機(jī)

//sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //圖片庫(kù)

//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化

picker.delegate = self;

picker.allowsEditing = YES;//設(shè)置可編輯

picker.sourceType = sourceType;

[self presentModalViewController:picker animated:YES];//進(jìn)入照相界面

[picker release];

打開(kāi)相冊(cè):(區(qū)分pad和iphone)

for iphone:

[cpp] view plain copy

UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];

}

pickerImage.delegate = self;

pickerImage.allowsEditing = NO;

[self presentModalViewController:pickerImage animated:YES];

[pickerImage release];

for ipad:

[cpp] view plain copy

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = NO;//是否允許編輯

picker.sourceType = sourceType;

/*

如果從一個(gè)導(dǎo)航按鈕處呈現(xiàn),使用:

presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;

如果要從一個(gè)視圖出呈現(xiàn),使用:

presentPopoverFromRect:inView:permittedArrowDirections:animated:

如果設(shè)備旋轉(zhuǎn)以后,位置定位錯(cuò)誤需要在父視圖控制器的下面方法里面重新定位:

didRotateFromInterfaceOrientation:(在這個(gè)方法體里面重新設(shè)置rect)

然后再次調(diào)用:

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated

*/

//UIPopoverController只能在ipad設(shè)備上面使用;作用是用于顯示臨時(shí)內(nèi)容,特點(diǎn)是總是顯示在當(dāng)前視圖最前端,當(dāng)單擊界面的其他地方時(shí)自動(dòng)消失。

UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:picker];

self.imagePicker = popover;

//permittedArrowDirections 設(shè)置箭頭方向

[self.imagePicker presentPopoverFromRect:CGRectMake(0, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

[picker release];

[popover release];

點(diǎn)擊相冊(cè)中的圖片 貨照相機(jī)照完后點(diǎn)擊use 后觸發(fā)的方法

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

*)info

點(diǎn)擊cancel 調(diào)用的方法

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

iOS開(kāi)發(fā)中遇到的小問(wèn)題-----總結(jié)

1、統(tǒng)一收鍵盤的方法

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

2、提示框

BBAlertView *alert = [[BBAlertView alloc] initWithStyle:BBAlertViewStyleDefault

Title:@"刪除訂單"

message:@"是否刪除訂單,"

customView:nil

delegate:self

cancelButtonTitle:L(@"取消")

otherButtonTitles:L(@"確認(rèn)")];

[alert setCancelBlock:^{

}];

[alert setConfirmBlock:^{

[self orderDidRemovePressDown:tempDic Index:index.section];

}];

[alert show];

3、圖片的自適應(yīng)功能

self.brandImage.contentMode = UIViewContentModeScaleAspectFit;

4、cocoaPods清除緩存問(wèn)題

$ sudo rm -fr ~/.cocoapods/repos/master

$ pod setup

5、設(shè)置顯示鍵盤的樣式

textView.keyboardType =UIKeyboardTypeDefault;

//設(shè)置鍵盤右下角為完成(中文輸入法下)

textView.returnKeyType=UIReturnKeyDone;

6、輸出當(dāng)前時(shí)間

NSDateFormatter * dateFormatter=[[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];

NSLog(@"當(dāng)前毫秒時(shí)間1==%@",[dateFormatter stringFromDate:[NSDate date]]);

7、顯示兩秒然后消失

UILabel * lab=[[UILabel alloc]initWithFrame:CGRectMake(60,Main_Screen_Height-64-49-60, Main_Screen_Width-120, 50)];

lab.backgroundColor=[UIColor grayColor];

ViewRadius(lab, 20);

lab.textAlignment=NSTextAlignmentCenter;

lab.text=@"請(qǐng)先進(jìn)行實(shí)名制驗(yàn)證";

[self.view addSubview:lab];

[UILabel animateWithDuration:2 animations:^{

lab.alpha=0;

}completion:^(BOOL finished) {

[lab removeFromSuperview];

}];

8、設(shè)置placeholder屬性的大小和顏色

[_phoneFie setValue:[UIColor grayColor] forKeyPath:@"_placeholderLabel.textColor"];

[_phoneFie setValue:[UIFont boldSystemFontOfSize:15] forKeyPath:@"_placeholderLabel.font"];

_phoneFie.returnKeyType=UIReturnKeyDone;

9、設(shè)置cell的交互完全不可以使用

//[cellTwo setUserInteractionEnabled:NO];

//設(shè)置cell不可以點(diǎn)擊,但是上面的子控件可以交互

cellTwo.selectionStyle=UITableViewCellSelectionStyleNone;

10、將textField的placeholder 屬性的字體向右邊移動(dòng)5

_field.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10*Width_375, _field.frame.size.height)];

_field.leftViewMode = UITextFieldViewModeAlways;

11、開(kāi)新線程使按鈕上的時(shí)間變化

-(void)startTime{

__block int timeout=60; //倒計(jì)時(shí)時(shí)間

UIButton * btn=(UIButton *)[self.view viewWithTag:1000];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒執(zhí)行

dispatch_source_set_event_handler(_timer, ^{

if(timeout=0){

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:@"發(fā)送驗(yàn)證碼" forState:UIControlStateNormal];

btn.enabled = YES;

});

}else{

//? int minutes = timeout / 60;

int miao = timeout % 60;

if (miao==0) {

miao = 60;

}

NSString *strTime = [NSString stringWithFormat:@"%.2d", miao];

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:[NSString stringWithFormat:@"剩余%@秒",strTime] forState:UIControlStateNormal];

btn.enabled = NO;

});

timeout--;

}

});

dispatch_resume(_timer);

}

12、隱藏TableView 中多余的行

UIView * view=[[UIView alloc]initWithFrame:CGRectZero];

[_tabelView setTableFooterView:view];

13、UIView添加背景圖片

UIImage * image=[UIImage imageNamed:@"friend750"];

headSeV.layer.contents=(id)image.CGImage;

14、UITableView取消選中狀態(tài)

[tableView deselectRowAtIndexPath:indexPath animated:YES];// 取消選中

15、帶屬性的字符串

NSFontAttributeName? 字體

NSParagraphStyleAttributeName? 段落格式

NSForegroundColorAttributeName? 字體顏色

NSBackgroundColorAttributeName? 背景顏色

NSStrikethroughStyleAttributeName 刪除線格式

NSUnderlineStyleAttributeName? ? ? 下劃線格式

NSStrokeColorAttributeName? ? ? ? 刪除線顏色

NSStrokeWidthAttributeName 刪除線寬度

NSShadowAttributeName? 陰影

1.? 使用實(shí)例

UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 30)];

testLabel.backgroundColor = [UIColor lightGrayColor];

testLabel.textAlignment = NSTextAlignmentCenter;

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天天氣不錯(cuò)呀"];

[AttributedStr addAttribute:NSFontAttributeName

value:[UIFont systemFontOfSize:16.0]

range:NSMakeRange(2, 2)];

[AttributedStr addAttribute:NSForegroundColorAttributeName

value:[UIColor redColor]

range:NSMakeRange(2, 2)];

testLabel.attributedText = AttributedStr;

[self.view addSubview:testLabel];

16、加大按鈕的點(diǎn)擊范圍

把UIButton的frame 設(shè)置的大一些,然后給UIButton設(shè)置一個(gè)小些的圖片

[tmpBtn setImageEdgeInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

// 注意這里不能用setBackgroundImage

[tmpBtn setImage:[UIImage imageNamed:@"testBtnImage"] forState:UIControlStateNormal];

17、//避免self的強(qiáng)引用

__weak ViewController *weakSelf = self;

18、//類別的創(chuàng)建

command +n ——Objective-C File———(File Type? 選擇是類別還是擴(kuò)展)———(Class? 選擇為哪個(gè)控件寫類別)

19、修改UITableview 滾動(dòng)條顏色的方法

self.tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite;

20、利用UIWebView顯示pdf文件

webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

[webView setDelegate:self];

[webView setScalesPageToFit:YES];

[webViewsetAutoresizingMask:UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleHeight];

[webView setAllowsInlineMediaPlayback:YES];

[self.view addSubview:webView];

NSString *pdfPath = [[NSBundle mainBundle]pathForResource:@"ojc" ofType:@"pdf"];

NSURL *url = [NSURLfileURLWithPath:pdfPath];

NSURLRequest *request = [NSURLRequestrequestWithURL:url

cachePolicy:NSURLRequestUseProtocolCachePolicy

timeoutInterval:5];

[webView loadRequest:request];

21、將plist文件中的數(shù)據(jù)賦給數(shù)組

NSString *thePath = [[NSBundle mainBundle]pathForResource:@"States" ofType:@"plist"];

NSArray *array = [NSArrayarrayWithContentsOfFile:thePath];

22、隱藏狀態(tài)欄

[[UIApplication shareApplication]setStatusBarHidden: YES animated:NO];

23、給navigation? Bar? 設(shè)置title顏色

UIColor *whiteColor = [UIColor whiteColor];

NSDictionary *dic = [NSDictionary dictionaryWithObject:whiteColor forKey:NSForegroundColorAttributeName];

[self.navigationController.navigationBar setTitleTextAttributes:dic];

24、使用AirDrop 進(jìn)行分享

NSArray *array = @[@"test1", @"test2"];

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:array applicationActivities:nil];

[self presentViewController:activityVC animated:YES

completion:^{

NSLog(@"Air");

}];

25、把tableview里面Cell的小對(duì)勾的顏色改成別的顏色

_mTableView.tintColor = [UIColor redColor];

26、UITableView去掉分割線

_tableView.separatorStyle = NO;

27、正則判斷手機(jī)號(hào)碼地址格式

- (BOOL)isMobileNumber:(NSString *)mobileNum {

//? ? 電信號(hào)段:133/153/180/181/189/177

//? ? 聯(lián)通號(hào)段:130/131/132/155/156/185/186/145/176

//? ? 移動(dòng)號(hào)段:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178

//? ? 虛擬運(yùn)營(yíng)商:170

NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$";

NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

return [regextestmobile evaluateWithObject:mobileNum];

}

28、控制交易密碼位數(shù)

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

if (textField.text.length =6){

[MBProgressHUD showMessage:@"密碼為6位" afterDelay:1.8];

return NO;

}

return YES;

}

29、判斷是不是空

if ([real_name isKindOfClass:[NSNull class]] ) {

return NO;}

30、點(diǎn)擊號(hào)碼撥打電話

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://400966220"]];

31、控制UITabbar的選擇哪一個(gè)

[self.tabBarController setSelectedIndex:1];

32、獲取當(dāng)前App的版本號(hào)

NSDictionary?*infoDictionary?=?[[NSBundle?mainBundle]?infoDictionary];

CFShow(infoDictionary);

//?app名稱

NSString?*app_Name?=?[infoDictionary?objectForKey:@"CFBundleDisplayName"];

//?app版本

NSString?*app_Version?=?[infoDictionary?objectForKey:@"CFBundleShortVersionString"];

//?app?build版本

NSString?*app_build?=?[infoDictionary?objectForKey:@"CFBundleVersion"];

33、蘋果app權(quán)限NSPhotoLibraryUsageDescriptionApp需要您的同意,才能訪問(wèn)相冊(cè)NSCameraUsageDescriptionApp需要您的同意,才能訪問(wèn)相機(jī)NSMicrophoneUsageDescriptionApp需要您的同意,才能訪問(wèn)麥克風(fēng)NSLocationUsageDescriptionApp需要您的同意,才能訪問(wèn)位置NSLocationWhenInUseUsageDescriptionApp需要您的同意,才能在使用期間訪問(wèn)位置NSLocationAlwaysUsageDescriptionApp需要您的同意,才能始終訪問(wèn)位置NSCalendarsUsageDescriptionApp需要您的同意,才能訪問(wèn)日歷NSRemindersUsageDescriptionApp需要您的同意,才能訪問(wèn)提醒事項(xiàng)NSMotionUsageDescriptionApp需要您的同意,才能訪問(wèn)運(yùn)動(dòng)與健身NSHealthUpdateUsageDescriptionApp需要您的同意,才能訪問(wèn)健康更新NSHealthShareUsageDescriptionApp需要您的同意,才能訪問(wèn)健康分享NSBluetoothPeripheralUsageDescriptionApp需要您的同意,才能訪問(wèn)藍(lán)牙NSAppleMusicUsageDescriptionApp需要您的同意,才能訪問(wèn)媒體資料庫(kù)

34、控件設(shè)置邊框

_describText.layer.borderColor = [[UIColor colorWithRed:215.0 / 255.0 green:215.0 / 255.0 blue:215.0 / 255.0 alpha:1] CGColor];

_describText.layer.borderWidth = 1.0;

_describText.layer.cornerRadius = 4.0;

_describText.clipsToBounds = YES;

35、//隱藏電池條的方法

-(BOOL)prefersStatusBarHidden{

return YES;

}

36、延時(shí)操作

[NSThread sleepForTimeInterval:2];

方法二:

[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.5];

37、系統(tǒng)風(fēng)火輪:

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO; //隱藏

38、//didSelectRowAtIndexPath:方法里面找到當(dāng)前的Cell

AssessMentCell * cell = [tableView cellForRowAtIndexPath:indexPath];

39、navigation上返回按鈕的顏色以及返回按鈕后面文字去掉

//返回按鈕后邊文字去掉

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)

forBarMetrics:UIBarMetricsDefault];

//設(shè)置左上角返回按鈕的顏色

self.navigationController.navigationBar.tintColor = UIColorFromRGB(0x666666);

40、lineBreakMode //設(shè)置文字過(guò)長(zhǎng)時(shí)的顯示格式

label.lineBreakMode = NSLineBreakByCharWrapping;以字符為顯示單位顯

示,后面部分省略不顯示。

label.lineBreakMode = NSLineBreakByClipping;剪切與文本寬度相同的內(nèi)

容長(zhǎng)度,后半部分被刪除。

label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字

以……方式省略,顯示尾部文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingMiddle;中間的內(nèi)容

以……方式省略,顯示頭尾的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingTail;結(jié)尾部分的內(nèi)容

以……方式省略,顯示頭的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByWordWrapping;以單詞為顯示單位顯

示,后面部分省略不顯示。

實(shí)用!蘋果iOS 13/iPadOS新增多攝像頭同步開(kāi)啟

在iOS 13中,蘋果終于推出了多攝像頭同步開(kāi)啟支持,允許應(yīng)用程序在iPhone或iPad上同時(shí)捕獲來(lái)自多個(gè)麥克風(fēng)和攝像頭的照片、視頻、音頻,元數(shù)據(jù)和深度信息。

自從OS X Lion以來(lái),蘋果長(zhǎng)期一直支持macOS上的多攝像頭捕獲,但到目前為止,硬件限制使其無(wú)法推出適用于iPhone和iPad的API。

iOS 13中的新功能和API將允許開(kāi)發(fā)人員提供同時(shí)從前置攝像頭和后置攝像頭傳輸視頻、照片或音頻的應(yīng)用程序。

iOS 13多攝像頭支持w/ AVCapture

在WWDC19期間推出新功能時(shí),蘋果演示了一個(gè)畫(huà)中畫(huà)視頻錄制應(yīng)用,該應(yīng)用從前置攝像頭錄制,同時(shí)還可以從主攝像頭錄制。

該演示應(yīng)用程序還啟用了視頻錄制功能,以及在照片應(yīng)用播放期間即時(shí)交換兩個(gè)攝像頭的功能。該功能還可以讓開(kāi)發(fā)人員控制雙TrueDepth攝像頭,包括后視寬角鏡頭或后視長(zhǎng)焦鏡頭的單獨(dú)視頻流。

iOS 13支持新的多攝像頭功能,僅適用于較新的硬件,包括iPhone XS、iPhone XS Max、iPhone XR和iPad Pro。

蘋果列出了許多支持多攝像頭捕獲的格式(如上圖所示),開(kāi)發(fā)人員會(huì)注意到它會(huì)對(duì)相機(jī)的正常功能施加一些人為限制。

由于移動(dòng)設(shè)備的功率限制,與Mac不同,iPhone和iPad將僅限于單個(gè)多攝像頭會(huì)話,這意味著你無(wú)法同時(shí)在多個(gè)應(yīng)用中開(kāi)啟多個(gè)攝像頭,或者使用多個(gè)攝像頭進(jìn)行多個(gè)會(huì)話。還將有各種支持的設(shè)備組合,指示在某些設(shè)備上支持哪些攝像機(jī)的捕獲組合。

蘋果本身并沒(méi)有在iOS 13相機(jī)應(yīng)用程序中使用任何新的多攝像頭功能,但我們認(rèn)為它現(xiàn)在正在出現(xiàn),因?yàn)樗皆贏VCapture中推出了支持。

Semantic Segmentation Mattes(語(yǔ)義分割蒙版)

iOS 13中相機(jī)捕捉的新功能還有語(yǔ)義分割蒙版。在iOS 12中,蘋果在內(nèi)部使用了Portrait Effects Matte為人像模式照片設(shè)置內(nèi)容,將主體與背景分開(kāi)。在iOS 13中,蘋果推出了所謂的Semantic Segmentation Mattes來(lái)識(shí)別皮膚、頭發(fā)和牙齒,并通過(guò)API進(jìn)一步改進(jìn)這些信息,供開(kāi)發(fā)人員使用。

在WWDC會(huì)議上,蘋果展示了新技術(shù)的演示應(yīng)用程序,允許將照片中的主體與背景分離,并將頭發(fā)、皮膚和牙齒隔離,以輕松添加效果,包括面部涂料和頭發(fā)顏色變化(如上圖)。

開(kāi)發(fā)人員可以在蘋果的網(wǎng)站上了解有關(guān)多攝像頭支持和語(yǔ)義分段的更多信息,它還提供了演示應(yīng)用程序的示例代碼。

ios相機(jī)軟件哪個(gè)好

Camera+ ($3)

即使更新到最新版本的 iOS 系統(tǒng),蘋果原生的相機(jī)軟件也是比較弱雞的。還好我們有 Camera+,可以調(diào)節(jié)曝光以及其他復(fù)雜的操作,比如連續(xù)閃光,正面閃光,觸摸對(duì)焦調(diào)整,6 倍數(shù)碼變焦,定時(shí)器和預(yù)設(shè)濾鏡。而且軟件的操作界面非常友好,操作非常便捷,隨時(shí)可以將照片上傳到 snapping 或者其他社交媒體平臺(tái)。

ProCamera ($5)

在 iOS 8 發(fā)布的時(shí)候,開(kāi)發(fā)者 Cocologics 決定放棄更新現(xiàn)有的 ProCamera 軟件,然后重做一款全新的攝影軟件。這個(gè)全新版本的 ProCamera——現(xiàn)已經(jīng)針對(duì) iOS10 進(jìn)行優(yōu)化——操作界面仍舊簡(jiǎn)單快捷,但卻可以實(shí)現(xiàn)非常復(fù)雜的操作:設(shè)置曝光時(shí)間,色調(diào),ISO 感光度等。除了強(qiáng)大的曝光控制和 70 多種獨(dú)特的濾鏡特效,ProCamera 甚至還具有夜間照相機(jī)和全分辨率預(yù)覽功能。

Darkroom

因?yàn)槿狈ο嚓P(guān)的美學(xué)基礎(chǔ),所以這個(gè)軟件的名字可能會(huì)被大家誤解。但是 Darkroom 確實(shí)像它的名字一樣,通過(guò)設(shè)計(jì)一個(gè)黑色的界面,讓你的照片看起來(lái)更加耀眼。這款軟件和 Lightroom 比較類似,可以調(diào)節(jié)色相、飽和度和亮度(HSL)或者調(diào)整曲線。除此以外還整合一些其他軟件的功能,比如集成了 VSCO 的所有濾鏡。這款軟件 iOS 應(yīng)用商店的評(píng)分是 4.9 分,所以沒(méi)啥可以猶豫的了——而且它還是免費(fèi)的喲。

Halide ($5)

如果你是一名初學(xué)者,想一點(diǎn)點(diǎn)從自動(dòng)模式進(jìn)階為手動(dòng)模式,那么 Halide 就是你的不二之選了。自動(dòng)模式可以輕松捕捉精彩瞬間,而峰值對(duì)焦工具,支持 RAW 格式照片可以幫助用戶發(fā)揮極致的創(chuàng)意,同時(shí)軟件的操作界面簡(jiǎn)單友好。Halide 甚至支持人像特效,功能媲美最新款 iPhone 的肖像模式。

Pro HDR X ($2)

ProHDR X 大概是所有 HDR 特效軟件里面最全能的,沒(méi)有之一。與之前版本不同,ProHDR X 重新設(shè)計(jì)了 UI 界面,降低操作門檻,讓普通攝影愛(ài)好者也可以操作自如。ProHDR X 支持更為廣泛的曝光調(diào)整控制以及色調(diào)匹配,而且可以將單反相機(jī)拍攝的照片(最高支持 2400 萬(wàn)像素)導(dǎo)入到軟件的內(nèi)置照片庫(kù)。同時(shí) ProHDR X 也提供了大量?jī)?yōu)秀的預(yù)設(shè)可供選擇,如果需要,甚至可以進(jìn)行數(shù)字縮放、裁剪、字幕和設(shè)置自拍定時(shí)器等操作。

Adobe Photoshop Express

說(shuō)到照片后期處理,沒(méi)人敢說(shuō)比 Adobe 更專業(yè)。盡管他們的桌面版本軟件享譽(yù)世界,但是手機(jī)上移動(dòng)版本的操作種類比其他同類軟件少了很多。但是這絲毫不影響 Adobe Photoshop Express 仍舊是市面上最佳的后期軟件之一。軟件支持常用的 Photoshop 功能如圖層、選擇工具和調(diào)整、添加文本、效果應(yīng)用以及混合圖像等。不過(guò),很多功能只有在付費(fèi)后才能使用。所以如果選擇了 Adobe Photoshop Express,那么就要做好錢包出血的準(zhǔn)備咯~

Adobe Lightroom

盡管 Adobe 公司的很多軟件只支持較新版本的 iPhone,但這絲毫不能影響其在我們軟件名單上舉足輕重的地位,尤其是那些在旅途中對(duì)照片進(jìn)行后期處理的攝影師們。Lightroom 會(huì)自動(dòng)與桌面設(shè)備同步圖像——無(wú)論是智能手機(jī)拍攝的圖像還是單反拍攝的原始圖像,都可以靈活使用各種熟悉的工具快速編輯、美化并且分享。在 iOS10 系統(tǒng)中,Lightroom 已經(jīng)開(kāi)始支持 RAW 格式的導(dǎo)入和編輯。

Instagram

如果只字不提濾鏡之王,我們整理的軟件名單估計(jì)就沒(méi)啥說(shuō)服力了。或許有數(shù)十種軟件可以實(shí)現(xiàn)相同的功能,但是 Instagram 始終保持最龐大的用戶群體。Instagram 不僅提供了一系列經(jīng)典濾鏡可供使用,同時(shí)對(duì)照片進(jìn)行評(píng)論、點(diǎn)贊或者分享,甚至可以直接將照片發(fā)給特定的好友。

Pixlr

網(wǎng)頁(yè)版本的 Pixlr 一直都是最受大家喜愛(ài)的照片后期工具,好消息是 Pixlr 已經(jīng)推出了手機(jī)版本軟件。在調(diào)整照片大小時(shí),Pixlr 支持從四個(gè)預(yù)先定義的尺寸中進(jìn)行選擇,并可進(jìn)行裁剪、旋轉(zhuǎn)、風(fēng)格化并進(jìn)行照片分享。燈光和疊加效果甚至可以改善心情,而一鍵調(diào)整則可以快速自動(dòng)地完成后期工作。

Facetune 2

不是所有人都非常上相,況且很多時(shí)候你在 snap 上傳你和你朋友照片的時(shí)候,和本人也是有區(qū)別的。通過(guò) Facetune 2,你可以將任何「見(jiàn)光死」的自拍變成萬(wàn)人迷。軟件支持多種美化,比如牙齒美白、去除污點(diǎn)和顏色校正,使面孔看起來(lái)非常完美,以便于上傳到社交網(wǎng)絡(luò)。最厲害的是,F(xiàn)acetune 2 甚至可以改變眼睛或者頭發(fā)的顏色。

Photo Editor by Aviary

如果想要一個(gè)好用而且免費(fèi)的后期軟件,推薦使用 Photo Editor by Aviary。被 Adobe 公司收購(gòu)后,軟件得以強(qiáng)化很多復(fù)雜功能,并且操作界面更加友好。Photo Editor by Aviary 支持在線購(gòu)買濾鏡預(yù)設(shè),而且有大量預(yù)設(shè)和其他資源可供選擇。和 Facetune 類似,Aviary 也支持消除紅眼、增白牙齒等功能。除此以外,還支持增加文字、替換顏色和社交網(wǎng)絡(luò)。但是需要注意的是,Photo Editor by Aviary 已經(jīng)超過(guò) 11 個(gè)月沒(méi)有更新了,所以不支持近期發(fā)布手機(jī)的最新功能。同時(shí)未來(lái)也很難看到 Photo Editor by Aviary 的重大更新了。

Horizon Camera

我們一般情況下從不豎著手機(jī)拍攝視頻。但是萬(wàn)一你的豬隊(duì)友沒(méi)有橫向拍視頻,Horizon Camera 就可以用來(lái)救場(chǎng)了。Horizon 可以強(qiáng)制手機(jī)只在橫向時(shí)拍攝視頻,即使旋轉(zhuǎn)手機(jī)也可以保持水平角度不變。Horizon 支持 60 和 120 幀/秒的慢速模式,并允許以自定分辨率進(jìn)行錄制——當(dāng)然,前提是在系統(tǒng)允許范圍內(nèi)。

iOS Camera開(kāi)發(fā)指南

該框架框架包含視頻相關(guān)的APIs和音頻相關(guān)的APIs。

針對(duì)音頻及視頻,其主要提供的功能可以歸納為4各方面:

1)、Capture

音頻、視頻、圖像媒體的捕捉,并輸出我們可用的數(shù)據(jù)對(duì)象的過(guò)程。

2)、Edit

針對(duì)現(xiàn)有的媒體片段(音頻片段或視頻片段),重新創(chuàng)建Assets,重新加工、生成新的媒體片段。例如,Reading, Writing, Reencoding Assets, Thumbnails

3)、Export

提供導(dǎo)出音視頻的API。例如,修改文件格式、消減時(shí)長(zhǎng)等。

4)、Presentation

例如,播放、音視頻的預(yù)覽

設(shè)備的輸入源主要包括:麥克風(fēng)(Microphone),攝像頭(Camera),屏幕等

輸入源一般包括:AVCaptureVideoPreviewLayer,AVCaptureAudioPreviewOutput,文件、Raw Buffer等。

從一個(gè)設(shè)備,例如照相機(jī)或者麥克風(fēng)管理捕獲,組合對(duì)象來(lái)表示輸入和輸出,并使用 AVCaptureSession 的實(shí)例來(lái)協(xié)調(diào)它們之間的數(shù)據(jù)流。

一個(gè)簡(jiǎn)單的會(huì)話協(xié)調(diào):

AVCapture Session作為整個(gè)Capture的核心,不斷從輸入源獲取數(shù)據(jù),然后分發(fā)給各個(gè)輸出源,從而完成一次簡(jiǎn)單的會(huì)話。

AVCaptureSession參數(shù)配置

開(kāi)始會(huì)話

結(jié)束會(huì)話

然而,很多情況下,需要考慮多個(gè)輸入源是如何被表示以及如何連接到輸出。

輸入源有自己的硬件參數(shù)可以設(shè)置流控,輸出源作為一個(gè)被動(dòng)接受對(duì)象,它并沒(méi)有太多流控設(shè)置,所以蘋果巧妙的引入AVCaptureConnections。每個(gè)Output與Session建立連接后,都會(huì)分配一個(gè)默認(rèn)的AVCpatureConnection。

AVCaptureConnections就是Session和Output中間的控制節(jié)點(diǎn)。很多實(shí)時(shí)數(shù)據(jù),也都是從connection得到的。

輸入設(shè)備的配置

輸出的配置

接收輸出資源

1)、視頻

2)、照片輸出

怎么讓相冊(cè)權(quán)限每次都出現(xiàn) ios 開(kāi)發(fā)

判斷相機(jī)的

AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

if (status == AVAuthorizationStatusDenied || status == AVAuthorizationStatusRestricted) {

return NO;

} else {

return YES;

}

判斷相冊(cè)的

ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];

if (status == kCLAuthorizationStatusDenied || kCLAuthorizationStatusRestricted) {

return NO;

} else {

return YES;

}

網(wǎng)站欄目:ios相機(jī)開(kāi)發(fā),ios專業(yè)相機(jī)
文章網(wǎng)址:http://m.kartarina.com/article16/dsespgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站網(wǎng)站設(shè)計(jì)軟件開(kāi)發(fā)做網(wǎng)站全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管
主站蜘蛛池模板: 无码熟妇人妻在线视频| 亚洲中文字幕久久精品无码VA| 日日摸夜夜爽无码毛片精选| 成人无码精品一区二区三区| 亚洲av无码专区在线观看素人| 亚欧免费无码aⅴ在线观看| 精品一区二区三区无码免费视频| 97性无码区免费| 无码人妻丰满熟妇区毛片18| 伊人久久综合精品无码AV专区| 69堂人成无码免费视频果冻传媒 | 人妻丝袜无码专区视频网站| 国产精品99久久久精品无码 | 国产成人亚洲综合无码| 精品欧洲av无码一区二区| 红桃AV一区二区三区在线无码AV | 人妻夜夜添夜夜无码AV| 色欲AV无码一区二区三区 | 日本精品无码一区二区三区久久久| 亚洲伊人成无码综合网| 亚洲av无码一区二区三区观看| 中文无码vs无码人妻| 热の无码热の有码热の综合| 亚洲精品无码永久在线观看男男 | 亚洲国产成人精品无码区在线秒播| 中文字幕丰满乱子无码视频| 无码熟熟妇丰满人妻啪啪软件| 亚洲av极品无码专区在线观看| 亚洲精品无码国产| 人妻少妇伦在线无码| 亚洲国产av无码精品| 亚洲精品无码永久在线观看| 亚洲成a人片在线观看天堂无码| 久久人妻无码中文字幕| 中文字幕无码精品亚洲资源网久久 | 久久亚洲精品无码观看不卡| 国产在线无码视频一区| 亚洲AV成人无码网天堂| 成在人线AV无码免费| 极品粉嫩嫩模大尺度无码视频 | 精品久久久无码人妻中文字幕豆芽 |