Iphone 如何将对象放置在图像上并存储它
我正在创建一个“cartoonizer”应用程序,它将图像作为输入,并对其进行修改,以便将其格式化为漫画风格 目前,原始图像存储在Iphone 如何将对象放置在图像上并存储它,iphone,ios,image-processing,ios6,uiimageview,Iphone,Ios,Image Processing,Ios6,Uiimageview,我正在创建一个“cartoonizer”应用程序,它将图像作为输入,并对其进行修改,以便将其格式化为漫画风格 目前,原始图像存储在UIImageView中,我通过执行以下操作来访问它: imageView.image 我想知道是否可以在imageimageView.image(像气球一样)上定位一个对象,然后将该对象存储在图像上,就像它最初是图像内容的一部分一样 提前谢谢。您可以这样做,前提是顶部图像的不透明度正确 正如您所说,您可以从imageView获取图像。图像: 从这里开始: 这里有更
UIImageView
中,我通过执行以下操作来访问它:
imageView.image
我想知道是否可以在imageimageView.image
(像气球一样)上定位一个对象,然后将该对象存储在图像上,就像它最初是图像内容的一部分一样
提前谢谢。您可以这样做,前提是顶部图像的不透明度正确 正如您所说,您可以从imageView获取图像。图像: 从这里开始:
这里有更多的合成技术:如果我想保持它的可点击性呢?比如,如果我想让用户在图像周围移动它,调整它的大小……那么您需要将UIImageView子类化,并覆盖touchBegind/moved/ended。如果你想保持可点击,那么你就不想合成(将图像嵌入到一起以创建一个新图像),这正是我想问的。嵌入是最后一步:当有人按“保存”以保存漫画时,你将图像混合在一起(因此,对于这一部分,你的解决方案很好)。然而,这取决于用户放置气球的位置以及气球的大小。因此,至少在第一个交互步骤中,顶部图像应该是可单击的。这很好,在这种情况下,使用子类UIImageview来定位图像,当您决定混合时,将两个UIImageview图像都拉出,将它们存储在两个UIImages中并使用我的解决方案。
UIImage *bottomImage = [UIImage imageNamed:@"bottom.png"];
UIImage *image = [UIImage imageNamed:@"top.png"];
CGSize newSize = CGSizeMake(width, height);
UIGraphicsBeginImageContext( newSize );
// Use existing opacity as is
[bottomImage drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
// Apply supplied opacity
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height) blendMode:kCGBlendModeNormal alpha:0.8];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();