合成图像时我试图两张照片(有孔的脸在不同的人的面部图像的顶部认为体)结合成一个图像。 顶部图像有一些半透明的像素和一些完全透明的像素,我想覆盖它的实体图像的顶部。腐败像素的iOS
以下是我在做什么: 我有一个正确的大小的上下文,并在其上绘制底部图像,没有任何alpha(faceImage)。 最重要的是我绘制中有一个透明孔的图像,与透明胶片的各种级别(coverImage):
UIGraphicsBeginImageContext(view.bounds.size);
[faceImage drawAtPoint:CGPointMake(0, 0) blendMode:kCGBlendModeNormal alpha:1];
[coverImage drawAtPoint:CGPointMake(0, 0) blendMode:kCGBlendModeNormal alpha:1];
UIImage *combinedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
在最终图像中的结果是相当出人意料:
在像素,其中在顶部图像没有透明度最终图像的正确保存和显示从顶部图像像素。 (行)
在其中顶部图像具有充分的透明度最终图像被适当地保存并示出了从底部图像像素的像素。 (行)
在其中顶部图像具有半透明像素和亮度非常光的像素(最终像素的亮度)突然得到完全透明像素(而不是最终像素没有透明度,这是顶部像素和底部像素之间的混合)。 (WTF?)
在图像中可以看到的白色斑点怪异。这些都是成为完全透明像素的像素(你看到过它们的白色背景):
这是我把顶部的图像:
这是面子底部图像:
任何想法可能是造成这个?
TIA
预先相乘,这也解决了我的问题。在这个蹩脚的问题上,我现在头撞墙了一天。 –