您的位置:首页 > 移动开发 > IOS开发

IOS获取图片的方式以及图片的压缩

2015-11-09 22:18 537 查看

#pragma mark -- 从用户相册获取图片

- (void)getPhotoFromUserPhoto{

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

imagePicker.delegate =
self;

//
获取图片的来源

imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;

/*

UIImagePickerControllerSourceTypePhotoLibrary(系统默认的
从相册获取图片),

UIImagePickerControllerSourceTypeCamera(摄像头获取图片),

UIImagePickerControllerSourceTypeSavedPhotosAlbum

*/

imagePicker.modalTransitionStyle =
UIModalTransitionStyleCoverVertical;

//
是否允许编辑

imagePicker.allowsEditing =
YES;

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

}

- (void)getImageFromCamera{

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

imagePicker.delegate =
self;

imagePicker.sourceType =
UIImagePickerControllerSourceTypeCamera;

// 注释掉的打开相机的方法

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

// imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

// imagePicker.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:imagePicker.sourceType];

// }

imagePicker.modalTransitionStyle =
UIModalTransitionStyleCoverVertical;

imagePicker.allowsEditing =
YES;

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

}

#pragma mark ---- UIImagePickerControllerDelegate

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

{

//初始化imageNew为从相机中获得的--

UIImage *imageNew = [info
objectForKey:@"UIImagePickerControllerOriginalImage"];

//设置image的尺寸

CGSize imagesize = imageNew.size;

imagesize.height =626;

imagesize.width =413;

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

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

NSData *imageData =
UIImageJPEGRepresentation(imageNew,0.00001);

NSLog(@"%s -- %d %@",__FUNCTION__,__LINE__,imageData);

}

//对图片尺寸进行压缩--

-(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize

{

// Create a graphics image context

UIGraphicsBeginImageContext(newSize);

// Tell the old image to draw in this new context, with the desired

// new size

[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

// Get the new image from the context

UIImage* newImage =
UIGraphicsGetImageFromCurrentImageContext();

// End the context

UIGraphicsEndImageContext();

// Return the new image.

return newImage;

}

- (void)didReceiveMemoryWarning {

[super
didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: