iOS:相机和自定义图像编辑入门

时间:2011-07-09 16:21:17

标签: iphone ios cocoa-touch camera core-graphics

我的应用会让用户从照片中删除内容。他们既可以选择iPhone照片库中的照片,也可以使用相机拍摄新照片。根据我的理解,UIImagePicker是从图书馆挑选照片或拍摄新照片的最简单方法。但是,我也明白它只提供基本的图像编辑(缩放,裁剪)。我希望我的图像编辑能够创建贝塞尔曲线,一旦所有曲线连接在一起,就会切出封闭的区域,保存它而不会出现周围的背景。

UIImagePicker上的官方苹果文档表明,与基本缩放和裁剪相比,AV框架是提供自定义图像编辑所必需的。所以我的第一个问题是:

  1. AV框架确实是我想要的 使用

  2. 它是否会与UIImagePicker结合使用(即,UIImagePicker用于选择照片或拍摄新照片,然后我的AV框架代码接管图像编辑)?

  3. 任何人都可以在开始学习此过程的代码时提供良好的资源吗?

  4. 我的最后一个问题是关于实际的贝塞尔曲线生成/操纵。似乎Core Graphics Framework对此有支持,但也有UIBezierPath对象,它显然是我将使用的核心图形工具的某种包装。

    所以我的最后一个问题是:我是否想要使用UIBezierPath对象,或者我之前描述的内容是否需要UIBezierPath无法提供的更精细控制,从而迫使我直接使用Core Graphics框架?

    谢谢!

2 个答案:

答案 0 :(得分:3)

  1. AV Foundation允许您与相机对话,以各种方式进行配置,以及从中接收实时馈送。因此,拍摄新照片或电影很有用,但不能从相机胶卷中选择它们或进行编辑。您可能希望使用AV Foundation来替换UIImagePicker提供的图像捕获任务。可能你会想要使用allowsEditing设置为NO的UIImagePicker,以便能够提供你自己完全独立的编辑界面。

  2. 不,这是一种不同的任务。

  3. 我不知道有关这类事情的任何教程,但文档非常好。我在答案like this one中发布了用于从相机捕获实时源的全部内容,不确定这是否是一种更有用的方式来查看某些AV基础类可以链接在一起?

    < / LI>

    为了编辑图像,你可能最终要做的是从UIImage开始,创建一个CoreGraphics位图上下文(你可以绘制的东西),对它进行某种合成,然后转换结果进入图像并将其保存回相机胶卷。

    UIBezierPath是Core Graphics的东西,但可能会做你想要的。 addClip可以将定义的路径设置为当前上下文中的新剪切路径,或者如果您需要比UIKit对当前上下文的想法更远,则可以使用CGPath属性。 / p>

答案 1 :(得分:-2)

寻找iphone食谱,也许还有kickasstorrents还有它

C07拥有您需要的一切,相机,叠加,装载,拣选,编辑,捕捉,远足相机,保存文档,发送图像,图像滚动条,缩略图,遮罩等等。