我有两个图像视图,一个在另一个图像视图的顶部,有两个不同的图像。当用户触摸图像并移动他/她的手指时,顶部图像应该沿着具有固定半径的触摸点变得透明。 (就像PhotoChop应用程序一样)。
目前我这样做......
这样可行但是因为你可以看到太多的副本,所涉及的创建都很复杂。
有人可以建议我更快地做同样的事情吗?
答案 0 :(得分:1)
CGImageCreateWithMask
在用户绘制时,使用更改修改CGBitmapContext
。保留引用上下文的链接CGImage
。从原始图像和蒙版创建蒙版图像,然后从中创建UIImage
。
CGImage
以及CGBitmapContext
必须为灰度。您可以使用CGImageMaskCreate
或CGImageCreate
制作图片,但前者是首选。
我不确定内部情况,但可能每次绘制UIImage
时它都会一直引用CGBitmapContext
。换句话说,我认为没有任何内容被复制,你需要的只是包含UIImage的视图上的setNeedsDisplay
。