Iphone 图像边缘上的Alpha混合

Iphone 图像边缘上的Alpha混合,iphone,uiimage,transparency,alpha,blending,Iphone,Uiimage,Transparency,Alpha,Blending,我有两个矩形图像:一个是前景,另一个是背景。我试图混合前景图像的边缘,使前景图像看起来像是背景图像的“一部分”。换句话说,我尝试应用透明度效果,前景图像的不透明度从图像中心的100%降低到边缘的0%。我发现,此操作有时使用不同的名称,例如:alpha合成、alpha混合、边羽化或边透明度。以下是我试图获得的效果的更详细描述: 我已经看过CGContext文档,但还没有找到任何现成的函数 使用CGContext甚至OpenGL有什么方法可以做到这一点吗?有没有办法在非矩形图像上实现这一点?我知道,

我有两个矩形图像:一个是前景,另一个是背景。我试图混合前景图像的边缘,使前景图像看起来像是背景图像的“一部分”。换句话说,我尝试应用透明度效果,前景图像的不透明度从图像中心的100%降低到边缘的0%。我发现,此操作有时使用不同的名称,例如:alpha合成、alpha混合、边羽化或边透明度。以下是我试图获得的效果的更详细描述:

我已经看过CGContext文档,但还没有找到任何现成的函数


使用CGContext甚至OpenGL有什么方法可以做到这一点吗?有没有办法在非矩形图像上实现这一点?我知道,所有图像都是矩形的,但我指的是一个图像,比如说,其中有一个圆,周围有一个透明区域。

iOS库中的
CGImageCreateWithMask()
函数可以进行alpha混合,降低边缘的不透明度。通过将这两个链接中的代码结合起来,可以实现某些功能:


遮罩中每个像素的灰度(从黑色到白色)将定义混合期间的不透明度级别。

如果您可以随意更改图像本身,请使用这种方式。使用CGContext是可能的,但比简单地翻转开关更难。一般的方法是创建位图上下文,在其上渲染图像(使用任何应用的变换),然后更改该位图上下文中的alpha值,然后再次将位图上下文转换为可显示图像。不好看。请查看并使用
视图。renderInContext:
对任何视图应用自定义像素级编辑。@mvds:谢谢您的帮助,我找到了解决方案。