我在iPhone OS3.0上遇到了一个奇怪的渲染错误...
我有两张图片。一种是不透明的PNG,主要是黑色,白色渐变向上渐变。
第二个是带有半透明云的透明PNG。
当我使用UIImageView覆盖两者时,云和白色渐变的交集触发了一个渲染错误,导致一个看起来相当奇怪的图形毛刺从顶部的图像(在本例中是云)中移除了所有不透明度,并导致图像的毛刺部分渲染到当前视图中的所有层(包括技术上位于其下面的层)的顶部。
它只发生在图像的两个部分的交叉处。因此,通常只有很小的块遇到错误,而其余的图像正常渲染。
有没有人看过这个,有没有人有办法?在我转到核心动画之前,我想先检查一下,它有望解决这个问题(因为我认为CA甚至OpenGL更倾向于处理重叠的alpha通道)。
这里有截图:
http://www.jasconi.us/glitch.jpg
你可以在右下角看到两个图像的相交。
发布于 2009-11-13 23:56:03
从你的描述来看,这似乎是苹果代码中的一个bug。我会报告给苹果,等待修复。
同时,您可以尝试在核心动画或OpenGL中实现相同的功能,希望错误出现在更高级别的UIImageView中,但由于UIImageView本身使用核心动画,因此在修复之前,此错误可能是不可避免的。
发布于 2009-11-18 23:29:13
我想你是在用UIImageView显示它们吧?如果是,是否在透明视图中将opaque设置为NO?
https://stackoverflow.com/questions/1704174
复制相似问题