CGImageを使用してアルファをUIImage内のすべての白/白に近いピクセルを置き換えますか?
-
26-09-2019 - |
質問
私は、白い背景でUIImageを持っています。私はアルファ透明ピクセルと白の背景/ピクセルを交換したいと思います。私は水晶のドキュメントと一緒にStackOverflowの上の他の質問、に見えたが、この問題のコヒーレント「スタート・ツー・エンド」を見つけるためにまだ持っていました。どのようにこれに行われる?
解決
CGImageCreateWithMaskingColors
A UIImageはCGImageをラップします。 、CGImageを取るCGImageCreateWithMaskingColorsを通してそれを実行し、その後、いずれかの結果から新しいUIImageを作成したり、UIImageに結果バックを割り当てます。
他のヒント
最初のステップは、画素が白であることからどれだけ離れているかを決定するために、「距離」の機能のいくつかの並べ替えを定義する必要があります。そして、あなたはピクセルが白であると考えられる下回る距離閾値を定義する必要があります。その後、透明であることに、あなたの距離やしきい値に従って白と考えられていた任意のピクセルを変更し、画像のピクセルを反復処理する必要があります。メインのトリックは、しかし、機能を通じて、この効率的な...感動のピクセルを作っていることは非常に遅くなります。あなたの最善の策は、画素が存在するメモリバッファへのアクセスを獲得し、それらを踏んでピクセルdirectlに触れることです。
所属していません StackOverflow