如何实现双曝光以拾取图像



在我的应用程序中,我有两个图像视图,第一个图像视图将是恒定的,对于第二个图像视图,在选择图像后它将缩放,它可以放置在视图中的任何位置,第二个图像将与第一个图像合并,合并后第二个图像视图将为零,第一个图像视图将有两个图像,我们可以在第二个图像视图中绘制尽可能多的图像,并且可以移动到任何地方,但我们需要图片一次只能使用单个图像。如何实现这一点。?.提前谢谢。

一个简单的图像通常每像素有32位的颜色信息(rgb:ff ff ff),灰度图像有8位。很明显,从 32 位到 8 位的转换是不可逆的。

为了实现您的目标,您必须保留原始图像的副本。

当您选择库中的图像时,将其保存在一个UIImage对象中作为原始图像,然后再对其应用任何灰度。

创建所选图像的另一个副本并对其应用灰度,并将此图像分配给 ImageView。

现在,当您触摸此图像视图

(使用手势检测触摸)时,将原始图像设置为图像视图。

编辑:你可以有这样的函数:

- (void)imagePickerController:(UIImagePickerController *)picker 
                      didFinishPickingMediaWithInfo:(NSDictionary *)info {
  [picker dismissModalViewControllerAnimated:YES];
  [picker release];
          // Edited image works great (if you allowed editing)
  UIImage *editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
          // AND the original image works great
  UIImage *originalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
          // AND do whatever you want with it, (NSDictionary *)info is fine now 
}

在上面的代码中,您可以在全局范围内声明editedImageoriginalImage变量,editedImage分配为ImageView的图像,并在触摸时ImageView可以显示originalImage

最新更新