iOS选照片
来源:互联网 发布:vnc mac版远程控制软件 编辑:程序博客网 时间:2024/04/28 13:40
{
//输入框
UITextView *_textEditor;
//下拉菜单
UIActionSheet *myActionSheet;
//图片2进制路径
NSString* filePath;
}
/////////////
- (void)openMenu {
//在这里呼出下方菜单按钮项
myActionSheet = [[UIActionSheet alloc]initWithTitle:nil delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles: @"打开照相机", @"从手机相册获取",nil];
[myActionSheet showInView:self.view];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
//呼出的菜单按钮点击后的响应
if (buttonIndex == myActionSheet.cancelButtonIndex)
{
NSLog(@"取消");
}
switch (buttonIndex)
{
case 0: //打开照相机拍照
[self takePhoto];
break;
case 1: //打开本地相册
[self LocalPhoto];
break;
}
}
//开始拍照
-(void)takePhoto
{
UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera])
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
//设置拍照后的图片可被编辑
picker.allowsEditing = YES;
// picker.showsCameraControls = YES;
picker.sourceType = sourceType;
[self presentModalViewController:picker animated:YES];
}else
{
NSLog(@"模拟其中无法打开照相机,请在真机中使用");
}
}
//打开本地相册
-(void)LocalPhoto
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.delegate = self;
//设置选择后的图片可被编辑
// picker.showsCameraControls = YES;
picker.allowsEditing = YES;
[self presentModalViewController:picker animated:YES];
}
//当选择一张图片后进入这里
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *type = [info objectForKey:UIImagePickerControllerMediaType];
//当选择的类型是图片
if ([type isEqualToString:@"public.image"])
{
//先把图片转成NSData
// UIImage* image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
//获取图片裁剪的图
UIImage* image = [info objectForKey:UIImagePickerControllerEditedImage];
NSData *data;
if (UIImagePNGRepresentation(image) == nil)
{
data = UIImageJPEGRepresentation(image, 1.0);
}
else
{
data = UIImagePNGRepresentation(image);
}
//图片保存的路径
//这里将图片放在沙盒的documents文件夹中
NSString * DocumentsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
//文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
//把刚刚图片转换的data对象拷贝至沙盒中 并保存为image.png
[fileManager createDirectoryAtPath:DocumentsPath withIntermediateDirectories:YES attributes:nil error:nil];
[fileManager createFileAtPath:[DocumentsPath stringByAppendingString:@"/image.png"] contents:data attributes:nil];
//得到选择后沙盒中图片的完整路径
filePath = [[NSString alloc]initWithFormat:@"%@%@",DocumentsPath, @"/image.png"];
//关闭相册界面
[picker dismissModalViewControllerAnimated:YES];
//创建一个选择后图片的小图标放在下方
//类似微薄选择图后的效果
UIImageView *smallimage = [[UIImageView alloc] initWithFrame:
CGRectMake(50, 120, 40, 40)] ;
smallimage.image = image;
//加在视图中
[self.view addSubview:smallimage];
}
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
NSLog(@"您取消了选择图片");
[picker dismissModalViewControllerAnimated:YES];
}
-(void)sendInfo
{
NSLog(@"图片的路径是:%@", filePath);
NSLog(@"您输入框中的内容是:%@", _textEditor.text);
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- IOS 选照片
- iOS选照片
- iOS相册多选照片
- iOS相册多选照片
- iOS本地照片多选的实现
- ios获取相簿照片
- ios 获取系统照片
- iOS学习,照片选择
- ios 获取全部照片
- iOS上传照片
- iOS获取所有照片
- iOS照片框架
- iOS 照片时间轴
- iOS 照片裁剪
- iOS 颜色照片
- iOS 照片自定义裁剪
- iOS开发之:AssetsLibrary框架访问相册所有照片实现多选照片
- iOS上传照片:图片尺寸压缩,上传时大小压缩,QBImagePickerController多选照片出现的问题
- FragmentTransition
- quick cocos 截屏并保存
- C++随机数
- iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码
- IOS版添加phonegap--语音识别合成插件教程
- iOS选照片
- [leetcode] 104. Maximum Depth of Binary Tree 解题报告
- 使用SQL遇到的一些问题记录
- 遍历创建进程、创建线程、加载模块的回调函数
- 删除从后往前第n个结点
- kafka入门教程
- python的urllib
- OC_11 内存管理
- 非IoC方式访问Servlet API的两种方法