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
- (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
相关文章推荐
- iOS之DDLog打印日志
- iOS:KVO的概述与使用
- IOS 的调试模式
- iOS --- 使用PhotoKit代替ALAssetsLibrary来管理相册资源
- iOS第四周 培训第一天
- iOS如何让程序能够支持文件共享
- iOS如何调用照相机和相册
- iOS多线程 GCD NSoperation NSThread
- iOS label自适应高度
- iOS学习XMPP之电子名片模块
- ios error90096 错误
- When to use Delegation, Notification, or Observation in iOS
- iOS图片拉伸技巧—— resizableImageWithCapInsets
- #在蓝懿学习iOS的日子#day15
- iOS类簇(Class Cluster)使用心得
- iOS第三方支付(支付宝)
- iOS学习XMPP框架之使用DDLog打印日志
- iOS 关于萌(蒙)层的添加,
- iOS 上传云端代码
- IOS8 指纹解锁 Touch ID