我一直在寻找这个答案。但我一直没能找到它。
我想平均 30 UIimages 的像素。为此,我想使用 Quartz2D 而不是遍历所有图像的所有像素。我突然想到,为了一起绘制 30 个图像,我应该将每个图像的 alpha 通道调整为 1/30。然后,在另一个之上画一个之后,我会得到想要的效果。
所需的公式应该是:Dest Px = (img[0].px+....img[29].px)/30
我尝试使用 imageContext 并将图像混合在一起但没有运气来实现它:
UIGraphicsBeginImageContext(CGSizeMake(sz.width, sz.height));
for (int i=0; i<30; i++) {
UIImage* img = [self.delegate requestImage:self at:i];
CGPoint coord = [self.delegate requestTranslation:self at:i];
[img drawAtPoint:coord blendMode:kCGBlendModeNormal alpha:1/30];
}
UIImage* im = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
我怎样才能得到许多 UIimages 的平均图像?我也尝试添加具有许多子层的图像,但我也得到了褪色的图像。
谢谢!