質問: UIImageである特定の色を置換したいです。 具体的には↓にあるようなことです。 iOS標準搭載されている画像処理で同じことは可能でしょうか? xamarinでの開発ですが、objective-c, swiftで出来ることは全てXamarinで出来るはずなのでその2つでのご回答でも構いません。 ◆環境 Visual Studio 2019 Xamarin 16.1 Xamarin.iOS 12.10 実機iPadのiOS 12.3
回答: 答えではありませんがヒントだけ。 UIImageは極めて簡単に画像を扱えるようにしたクラスです。 そのため使用者はその画像データがjpegなのかPNGなのかPDFなのあるいはその他なのかを気にすることなく利用できるようになっています。 単純化を極めているのでUIImageではピクセルの操作などは一切できません。 ピクセルなどを操作する場合はフォーマットが分かっているビットマップに変更してピクセル操作後にUIImageに戻すという手続きが必要です。 よく使われる方法は 1. CGImageに変換する 2. ピクセルフォーマットを指定してCGContext上に展開する 3. CGContextからDataとして取り出す 4. Data内のピクセルを操作する 5. DataをUIImageに変換する です。 見てわかる通りすごく大変なので、ここでは書けません。 Xamarinでなければ、こういう便利なフレームワークが使えるんですが、XamarinってSwiftのFramework使えるんですか? ↑このフレームワークのソースを読めば僕が示した手順と同じことやってます。 汎用化のために流れが分かりにくいですが。