1

白い背景の UIImage があります。白い背景/ピクセルをアルファ透明ピクセルに置き換えたいと思います。私は StackOverflow に関する他の質問と Quartz のドキュメントを見てきましたが、この問題の首尾一貫した「最初から最後まで」をまだ見つけていません。これはどのように行われますか?

4

2 に答える 2

1

最初のステップは、ある種の「距離」関数を定義して、ピクセルが白からどれだけ離れているかを判断する必要があることです。次に、ピクセルが白と見なされる距離のしきい値を定義する必要があります。次に、画像のピクセルを反復処理し、距離としきい値に応じて白と見なされたピクセルを透明に変更する必要があります。ただし、主なトリックはこれを効率的にすることです...関数を介してピクセルに触れるのは非常に遅くなります。最善の策は、ピクセルが存在するメモリバッファにアクセスし、ピクセルをステップスルーすることによって、ピクセルに直接触れることです。

于 2010-05-12T03:58:10.803 に答える
1
CGImageCreateWithMaskingColors

UIImage は CGImage をラップします。CGImage を取得し、CGImageCreateWithMaskingColors を実行してから、結果から新しい UIImage を作成するか、結果を UIImage に割り当てます。

于 2010-05-12T04:22:16.403 に答える