UIImage
特に、CoreGraphicsを介して2つのオブジェクトをブレンドすることで画像操作を行うiPhoneアプリがありますCGContextSetBlendMode
。私は現在、Androidへの移植を研究しています。Bitmap
PorterDuffモードを使用してAndroid上のオブジェクトに結合するプロセスを実行しました。ただし、もっと複雑な合成が必要です。たとえば、私はkCGBlendModeHardLight
多くのブレンドに使用しています。
ソース画像のサンプルカラーに応じて、乗算またはスクリーンカラーのいずれか。ソース画像のサンプルカラーが50%グレーより明るい場合、スクリーニングと同様に背景が明るくなります。ソース画像のサンプルカラーが50%グレーよりも暗い場合、乗算と同様に背景が暗くなります。ソース画像のサンプルカラーが50%グレーの場合、ソース画像は変更されません。純粋な黒または純粋な白に等しい画像サンプルは、純粋な黒または白になります。全体的な効果は、ソース画像に厳しいスポットライトを当てることによって達成するものと似ています。これを使用して、シーンにハイライトを追加します。
しかし、Porter-Duffを介してこれをエミュレートすることは(可能であれば)とにかくわかりません。Androidは、すぐに使用できる優れた画像操作アルゴリズムをサポートしていませんか?Porter-Duffを何らかの方法で使用して、より高度なブレンドモードをエミュレートすることは可能ですか?