私はしばらくこの答えを探していました。しかし、私はそれを見つけることができませんでした。
30 個の UIimages のピクセルを平均したいと思います。そのためには、すべての画像のすべてのピクセルを調べるのではなく、Quartz2D を使用して実行したいと考えています。30 枚の画像を一緒にペイントするには、それぞれのアルファ チャネルを 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 の平均画像を取得するにはどうすればよいですか? また、多くのサブレイヤーを含む画像を追加しようとしましたが、画像が色あせてしまいます。
ありがとう!