开发笔记 那些年追过的图片(二): 读取相册里的图片 和 拍摄获取照片
2013-09-12 14:43
537 查看
站在巨人的肩膀我们会看见山后面的海
获取照片我们要用到ios sdk UIImagePickerController
很简单直接上代码
// typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType)
// {
// UIImagePickerControllerSourceTypePhotoLibrary, //同步到iphone的图片以及包括用户拍摄的图片在内的任何相册
// UIImagePickerControllerSourceTypeCamera, //拍照
// UIImagePickerControllerSourceTypeSavedPhotosAlbum //仅含相册
// };
// ViewController.h
// ImageDemo
//
// Created by lengshengren on 13-9-12.
// Copyright (c) 2013年 lengshengren. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController :UIViewController<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
{
UIImagePickerController * imagePicker;
}
@property (nonatomic,strong)UIImagePickerController *imagePicker;
@property (weak, nonatomic)IBOutletUIImageView *imageView;
- (IBAction)getIMage:(id)sender;
@end
- (IBAction)getIMage:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheetalloc]initWithTitle:@""
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:nil
otherButtonTitles:@"拍照",@"从相册选取",nil];
[actionSheet showInView:self.view];
}
-
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
imagePicker = [[UIImagePickerControlleralloc]
init];
imagePicker.delegate =self;
imagePicker.allowsEditing =YES;
imagePicker.modalTransitionStyle =UIModalTransitionStyleCoverVertical;
//照相上传
if (buttonIndex == 0)
{
imagePicker.sourceType =UIImagePickerControllerSourceTypeCamera;
}
//相册上传
else if (buttonIndex ==1)
{
imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
}
[self presentViewController:imagePicker animated:YES completion:nil];
}
#pragma mark-
#pragma mark 照片
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
_imageView.image = image;
//关闭相册界面
[picker dismissModalViewControllerAnimated:YES];
}
@end
//压缩图片
- (UIImage*)imageWithImageSimple:(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;
}
获取照片我们要用到ios sdk UIImagePickerController
很简单直接上代码
// typedef NS_ENUM(NSInteger, UIImagePickerControllerSourceType)
// {
// UIImagePickerControllerSourceTypePhotoLibrary, //同步到iphone的图片以及包括用户拍摄的图片在内的任何相册
// UIImagePickerControllerSourceTypeCamera, //拍照
// UIImagePickerControllerSourceTypeSavedPhotosAlbum //仅含相册
// };
// ViewController.h
// ImageDemo
//
// Created by lengshengren on 13-9-12.
// Copyright (c) 2013年 lengshengren. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface ViewController :UIViewController<UIActionSheetDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate>
{
UIImagePickerController * imagePicker;
}
@property (nonatomic,strong)UIImagePickerController *imagePicker;
@property (weak, nonatomic)IBOutletUIImageView *imageView;
- (IBAction)getIMage:(id)sender;
@end
- (IBAction)getIMage:(id)sender
{
UIActionSheet *actionSheet = [[UIActionSheetalloc]initWithTitle:@""
delegate:self
cancelButtonTitle:@"取消"
destructiveButtonTitle:nil
otherButtonTitles:@"拍照",@"从相册选取",nil];
[actionSheet showInView:self.view];
}
-
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
imagePicker = [[UIImagePickerControlleralloc]
init];
imagePicker.delegate =self;
imagePicker.allowsEditing =YES;
imagePicker.modalTransitionStyle =UIModalTransitionStyleCoverVertical;
//照相上传
if (buttonIndex == 0)
{
imagePicker.sourceType =UIImagePickerControllerSourceTypeCamera;
}
//相册上传
else if (buttonIndex ==1)
{
imagePicker.sourceType =UIImagePickerControllerSourceTypePhotoLibrary;
}
[self presentViewController:imagePicker animated:YES completion:nil];
}
#pragma mark-
#pragma mark 照片
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
_imageView.image = image;
//关闭相册界面
[picker dismissModalViewControllerAnimated:YES];
}
@end
//压缩图片
- (UIImage*)imageWithImageSimple:(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;
}
相关文章推荐
- 开发笔记 那些年追过的图片(二): 读取相册里的图片 和 拍摄获取照片
- 开发笔记 那些年追过的图片(四):读取图片的信息
- 开发笔记 那些年追过的图片(四):读取图片的信息
- 开发笔记 那些年追过的图片(四):改变相册里的英文变成中文
- 开发笔记 那些年追过的图片(一): image的读取
- 开发笔记 那些年追过的图片(七):屏幕截图
- 开发笔记 那些年追过的图片(三):自定义修改拍照界面retake和use按钮
- 开发笔记 那些年追过的图片(三):自定义修改拍照界面retake和use按钮
- 开发笔记 那些年追过的图片(五):imageView GIF 动画
- 开发笔记 那些年追过的图片(十) 图片处理成圆形
- 开发笔记 那些年追过的图片(十一)给图片加文字,加水印等
- 开发笔记 那些年追过的图片(七):屏幕截图
- Android开发之获取相册照片和获取拍照照片三之 图片旋转
- 开发笔记 那些年追过的图片(六):压缩图片并保存到沙盒里
- 开发笔记 那些年追过的图片(八):PNG,JPEG格式相互转换
- 开发笔记 那些年追过的图片(九)图片转PDF的实现方法
- 开发笔记 那些年追过的图片(五):imageView GIF 动画
- 读取手机相册,获取选中的某张图片的路径
- 【iphone开发】从摄像头/相册获取图片,压缩图片,上传服务器小结
- Android开发之获取相册照片和获取拍照照片二