IOS 图片上传处理 图片压缩 图片处理

- (void)initActionSheet

{

UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"我的相册",@"拍照", nil];

actionSheet.tintColor = [UIColor whiteColor];

[actionSheet showInView:self.scrollerViewUpload];

}

#pragma mark - UIActionSheetDelegate

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

if (buttonIndex == 0)

{

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

PickerController.delegate = self;

[self presentViewController:PickerController animated:YES completion:nil];

}

else if (buttonIndex == 1)

{

DNLog(@"拍照");

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

//判断是否有相机

if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){

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

picker.delegate = self;

//设置拍照后的图片可被编辑

picker.allowsEditing = YES;

//资源类型为照相机

picker.sourceType = sourceType;

[self presentViewController:picker animated:YES completion:nil];

}else {

[SVProgressHUD showWithStatus:@"没有照相功能" maskType:SVProgressHUDMaskTypeBlack];

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

[SVProgressHUD dismiss];

});

DNLog(@"没有照相功能");

}

}

}

#pragma mark - UIImagePickerControllerDelegate

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info

{

UIImage *imageNew =info[UIImagePickerControllerOriginalImage];

//设置image的尺寸

CGSize imagesize = imageNew.size;

imagesize.width = imageNew.size.width * 0.45;

imagesize.height = imageNew.size.height *0.45;

//对图片大小进行压缩--

//    imageNew = [self imageWithImage:imageNew scaledToSize:imagesize];

imageNew  = [AppGlobleReciveInfo imageWithImage:imageNew scaledToSize:imagesize];

NSData *imageData = UIImageJPEGRepresentation(imageNew,0.00001);

_selectImage = [UIImage imageWithData:imageData];

self.TravelCardView.image = _selectImage;

[AppGlobleReciveInfo saveWith:_TravelCardView.image nameStr:TravelCardName];

self.TravelCenterBtn.hidden =YES;

self.TravelLable.hidden = YES;

AppGlobleRecive.isTravelCardUpLoadSuccess = false;

[AppGlobleRecive setBool:AppGlobleRecive.isTravelCardUpLoadSuccess forKey:BoolTravelCardUpLoad];

[[NSNotificationCenter defaultCenter] postNotificationName:@"IsSuccessUpLoadIdCard" object:nil];

[picker dismissViewControllerAnimated:YES completion:nil];

}

/**************** 图片上传 ****************/

+(void)uploadImageWithRequest:(NSString *)requestStr fromImage:(UIImage *)image completionHandler:(completionHandler )completionHandler

{

AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];

NSURL * url = [NSURL URLWithString:requestStr];

NSURLRequest  *request = [NSURLRequest requestWithURL:url];

NSData *imageData = UIImageJPEGRepresentation(image, 1.0);

[sessionManager uploadTaskWithRequest:request fromData:imageData progress:nil completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error)

{

completionHandler(response,responseObject,error);

}];

}

上一篇:JLINK仿真器与ST-LINK仿真器的安装与配置.pdf


下一篇:减少MySQL主从延迟的神器--并行复制大揭密