拍照后编辑图像

2024-03-13

我目前正在制作一个 iPhone 应用程序,用户可以在其中拍照或从相册中选择照片,然后将覆盖层放置在图像上。然后用户可以缩放、旋转和保存图像。目前,我可以拍照,或者选择一张放入相册。至于覆盖层,我只是使用 UIImageView 并将其放置在界面构建器中的层次结构的顶部。对于相机,我使用以下代码:

-(IBAction)getPhoto:(id)sender  {

// Create an image picker controller
UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init];


if((UIButton *) sender == choosePhotoBtn)   {
    // Set source to photo albums
    imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
}

else    {
    // Set source to camera
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.showsCameraControls = YES;
}

// Delegate is self
imagePicker.delegate = self;

    // Allow editing of image
    imagePicker.allowsEditing = YES;

    // Show image picker
    [self presentModalViewController:imagePicker animated: YES];
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info   {
// Dismiss modalviewcontroller
[picker dismissModalViewControllerAnimated:YES];

// Displaying image to the imageView
imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

// Access the uncropped image from info dictionary
UIImage * image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];


// Save Image
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);

[picker release];
}

我现在遇到的问题是拍摄照片后对其进行编辑。如何自定义相机以使其表现如下?:

  1. 选择使用相机或从相册中获取照片

  2. 一旦选择,覆盖图像将变为我在脸上放置一个“圆圈”的图像,照片将像面具一样位于下面。该视图还可以全屏编辑。您可以旋转、缩放和移动图像,直到单击“完成”。

我已经阅读了手册中的这一部分,但我似乎不明白如何使用它。http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImagePickerController_Class/UIImagePickerController/UIImagePickerController.html

希望有人能指出我正确的方向。

非常感谢。 -哈基莫


有一种方法不需要太多改变你的代码:

- (IBAction)takePicture:(id)sender {
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
    [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
} else {
    [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}

[imagePicker setAllowsEditing:YES];
[imagePicker setDelegate:self];

//place image picker on the screen
[self presentViewController:imagePicker animated:YES completion:nil];
}

如果你想使用编辑后的图片,请将“UIImagePickerControllerOriginalImage”更改为“UIImagePickerControllerEditedImage”,就可以了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拍照后编辑图像 的相关文章

  • Expo eas-cli iOS 构建失败

    我已经使用 React Native 创建了一个应用程序 并尝试通过 Expo 的 eas cli 创建一个 iOS 应用程序商店 跑步时eas build platform ios the Fastlane build failed wi
  • Sprite Kit - 确定轻弹精灵的滑动手势矢量

    我有一个游戏 圆形物体从屏幕底部射出 我希望能够滑动它们以将它们朝我滑动的方向轻弹 我的问题是 我不知道如何计算滑动的矢量 方向 以便使圆形物体以适当的速度向正确的方向轻拂 我使用的静态矢量 5 5 需要通过滑动速度和滑动方向来计算 另外
  • CloudKit 获取当前用户的所有订阅

    我设法在 Apple CloudKit 中保存 更改和删除记录 我什至收到了与订阅相关的通知 但我不知道如何列出当前用户的所有订阅 到目前为止 这是我的代码 let operation CKFetchSubscriptionsOperati
  • 如何同时关闭并弹出到视图控制器

    我的家庭视图控制器是Tabbarcontroller 从选项卡栏我导航到 A Viewcontroller TabarViewcontroller gt A 视图控制器 从A 视图控制器 我推 B 视图控制器 从B Viewcontroll
  • Braintree DropIn + Apple Pay,未出现 Apple Pay 项目

    我成功调用DropIn来自 Braintree SDK 的视图 这BTDropInRequest设置应显示三项 PayPal 信用卡 苹果支付 但由于某种原因在DropIn视图仅呈现两个项目而不是三个 PayPal 信用卡 我做错了什么 准
  • iPhone Core Graphics 子视图的粗虚线

    我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect 该视图还包含一个子视图 该子视图也绘制一条线 然而 虽然两个视图都使用几乎相同的代码 至少出于测试目的 但在它们上绘制的线看起来并不相同 正如
  • 同一应用程序的不同版本取决于设备(应用程序商店)

    我已经将我的游戏提交到App Store并更新了 现在最新版本是每个下载我游戏的人都应该得到的版本 对吗 现在的问题是 当我从 iPad mini 上的 App Store 下载游戏时 我得到的是正确的版本 但是当我从 iPad 2 下载游
  • 我以前没见过的 CGRect 语法

    我在一些示例代码中看到了下面的语法 但不确定我是否理解它 CGRect imageRect CGRect size baseImage size 这只是初始化的一种简写方式吗CGRect相当于 CGRect imageRect CGRect
  • UINavigationControllerDelegate的didShowViewController方法被调用了两次

    class ViewController UIViewController UINavigationControllerDelegate override func viewDidLoad super viewDidLoad navigat
  • iOS 应用内购买沙箱测试显示我的密码错误

    我在 itunesconnect 中创建了一个 Sandbox Tester 帐户 并通过我在网络上注册的电子邮件验证了电子邮件地址 验证后 我尝试使用沙盒帐户在我的应用程序中购买商品 并收到更改密码的提醒 所以我做了 然后我尝试使用新密码
  • 如何创建一个 NSMutableArray 并为其分配一个特定的对象?

    我刚刚开始接触 Obj C 并且希望创建一个 MKAnnotations 数组 我已经创建了名为的 MKAnnotation 类TruckLocation其中包含名称 描述 纬度和经度 这是到目前为止我所拥有的数组 NSMutableArr
  • iOS7及以上版本中如何在接收器和扬声器之间切换音频输出?

    我有一个音频播放器 可以选择在接近传感器通知 1 时将音频输出从扬声器切换到接收器 耳机 无论是否连接耳机 以下是我执行此操作的代码 void switchAudioOutput NSString output AVAudioSession
  • CoreAnimation 性能分析 - CAReplicatorLayer 与 CAShapeLayer

    我正在制作一个依赖 CoreAnimation 的应用程序 它有一个 CAReplicatorLayer 和一个 CAShapeLayer 作为子层 当进行 12 次复制 然后对路径进行动画处理 在 touchMoved 上更改它 时 一旦
  • 使用prefersLargeTitles 和 UITableView 平滑滚动

    我在使用时遇到了滚动问题prefersLargeTitles并添加了UITableView 如果我设置prefersLargeTitles在导航控制器中 其根是UITableViewController一切都很好 导航大标题的滚动方式与我们
  • 在 Objective C 中使用下划线作为属性名称前缀 [重复]

    这个问题在这里已经有答案了 我以前避免在变量名中使用下划线 这可能是我大学 Java 时代的遗留下来的 因此 当我在 Objective C 中定义属性时 我自然会这样做 In the header interface Whatever N
  • iOS 上每个选项的带有图像的操作表

    有没有办法在 iOS 上将图像添加到操作表中 与苹果在应用程序商店或苹果音乐应用程序上所做的一样 我对苹果文档的基本搜索表明我没有在操作表中子类化或添加子视图 UIActionSheet 并非设计为子类化 也不应向其层次结构添加视图 苹果文
  • iphone:通过代码获取目标设置中的用户定义变量?

    我的项目有多个目标 每个目标都有自己的目标Class用于设置内容的文件 我想存储它Class目标设置中的名称 Info plist或目标的建筑物设置 这样我就可以根据此设置定义每个目标中需要使用哪个类 根据这个问题 https stacko
  • 自动布局:Y 位置为两个值中的最大值

    我有一个按钮 play Button 和两个 UIView myView 1 和 myView 2 它们的位置在执行过程中可能会发生变化 我希望 playButton 的顶部比 UIView 1 的底部或 UIView 2 的底部低 10
  • Swift 中的弹出视图

    我有一个弹出视图 没有选项卡栏 它弹出到带有选项卡栏的视图控制器 在带有选项卡栏的视图控制器中 我设置了一个单击按钮 以便弹出视图控制器 IBAction func PopUpClicked sender UIButton gt Void
  • Facebook oauth/access_token 丢失

    不知道我是否错过了什么 但就这样 我正在尝试为我的应用程序获取 access token 以便它可以在 facebook 上查找某些公共群组的事件 而无需用户登录 我试图从中获取 access token 这将返回一个字符串 access

随机推荐

  • PyQt QListWidget 自定义项

    我如何创建一个 QListWidgetItem 它下面有 1 个图像和 2 个标签 字符串 并且支持 css 这是我尝试过的最后一件事 class CustomListWidgetItem QListWidgetItem QLabel de
  • 隐藏 IONIC-3 中的离子输入验证边框[重复]

    这个问题在这里已经有答案了 我使用的是 ionic 3 我想知道如何删除验证边框颜色 红色和绿色 I tried to removed using this css item inner border bottom color transp
  • 人类可读订单代码的完美哈希函数

    我正在尝试生成从 比方说 无符号 32 位内部 ID 派生的非连续人类可读订单代码 该 ID 从 1 开始 并针对每个新订单自动递增 在下面的示例代码中 每个 hash是独一无二的吗 我计划对 hash使其易于人类阅读
  • Java(14 及以上)instanceof 转换为泛型(例如 List

    我正在使用 Jackson 反序列化 JSON 有效负载 我有一些字段可以是对象或对象数组 所以在我的Java代码中我声明 class Outer private Object inner 我知道内在可以是Map
  • 从 Wikipedia API 中提取数据

    我希望能够使用 json 从维基百科中提取标题和描述 所以 维基百科不是我的问题 我是 json 的新手 想知道如何使用它 现在我知道有数百个教程 但我已经工作了几个小时 它只是不显示任何内容 这是我的代码
  • 如何通过peerJS 点对点连接接收数据?

    我正在尝试使用peerJS 连接两个对等点 我几乎只是在遵循他们的 入门 但我仍然在挣扎 下面是我到目前为止得到的代码
  • Java:从文件加载图像,编辑并添加到 JPanel

    我想将计算机中的图像加载到 2D Graphics 中 以便之后可以对其进行编辑 然后我想将其添加到JPanel 如果您需要查看我的项目 我可以将其发送给您 void loadImage FileDialog fd new FileDial
  • OSX 10.8 xcrun(没有这样的文件或目录)

    执行时gem install jekyll在 OSX 10 8 上安装了来自 Apple 开发人员站点的独立命令行工具包 无 Xcode 时 我遇到以下错误 构建本机扩展 这可能需要一段时间 错误 安装 jekyll 时出错 错误 无法构建
  • SQL 查询限制来自一个表的行,而不是结果集

    我正在运行一个带有连接的简单查询 类似于 SELECT t1 a t2 b FROM t1 LEFT JOIN t2 ON LIMIT 5 As t1有很多行t2 任何大于 2 的数字 LIMIT 语句不会返回前 5 行t1以及来自的相应条
  • const 有什么问题吗?

    已知的不足有哪些const在 C 和 C 0x 中 唯一的问题是const就是这样被严重低估许多开发商 它是 C 工具箱中最好的工具之一 非常锋利 但割伤自己并不危险
  • 禁用的 uibarbuttonitem 的文本颜色始终是正常状态的颜色

    我在我的代码中写道 UIBarButtonItem appearanceWhenContainedIn UINavigationBar class nil setTitleTextAttributes NSForegroundColorAt
  • 限制 Jenkins 仅针对特定分支进行并发构建

    我一直在寻找如何做到这一点一段时间 但我开始认为这是不可能的 与此类似的每个问题似乎都与限制某些节点或整个管道的运行更相关 我们在 Jenkins 中有一个多分支管道 用于处理 PR 构建 分阶段测试和生产发布 三者中的每一个都通过when
  • VC++ 缺少类型说明符 - 假定为 int。注意:C++ 不支持default-int [重复]

    这个问题在这里已经有答案了 以下代码在 VC 6 0 中编译得很好 但是当我在 VS2005 中打开该项目时 出现此错误 BCGPopupMenu h 100 错误 C4430 缺少类型说明符 int 假定 注意 C 不支持default
  • 为可移植类库创建 NuGet 包时出错

    我是 Nuget 新手 我正在尝试为可移植类库项目创建一个 NuGet 包 该项目对我创建的另一个可移植类库具有包依赖性 我遇到了一个问题 在调用时收到错误块包对于项目文件测试组件2 csproj 我从 VS 2013 中的 Portabl
  • &(单个与符号)和 | 是什么意思(单管)运算符进行比较运算?

    在这样的声明中 if valueA valueB 99 print they don t equal 99 什么是 运营商做什么 我认为这意味着如果 valueS 和 value 都不等于 99 则执行该块 然后什么是 在此声明中执行以下操
  • 在zf2中配置多个数据库

    如何在 Zend Framework 2 中配置 和使用 多个数据库 目前我的 global php 中有这个 return array db gt array driver gt Pdo dsn gt mysql dbname my db
  • Pythoncoverage.py 排除行

    背景 我有几个使用coverage py 的Django 项目 并且一直在尝试向我的 coveragerc 配置文件的exclude lines 部分添加一些额外的表达式 问题是 即使使用正确的正则表达式 也可以在测试器中拾取该行 例如ht
  • 删除字符串中的所有 HTML 标签(使用 jquery text() 函数)

    是否可以使用 jquery text 函数删除字符串中的所有 HTML 带有 HTML 标签的字符串 myContent div Hello span world span div 结果必须是 Hello world var myConte
  • C# 中字符串类型最快(内置)比较是什么

    C 中字符串类型最快的内置比较方法是什么 我不介意印刷 语义含义 目的是在排序列表中使用比较器以便在大型集合中快速搜索 我认为只有两种方法 Compare and CompareOrdinal 什么是最快的 此外 是否有更快的字符串比较方法
  • 拍照后编辑图像

    我目前正在制作一个 iPhone 应用程序 用户可以在其中拍照或从相册中选择照片 然后将覆盖层放置在图像上 然后用户可以缩放 旋转和保存图像 目前 我可以拍照 或者选择一张放入相册 至于覆盖层 我只是使用 UIImageView 并将其放置