私はRGBコンポーネントでは完全に白で、RGBA形式では0xFFFFFF09などのアルファ値が変化しています。しかし、このイメージをUIImageまたはCGImage APIでロードしてからCGBitmapContextで描画すると、RGBコンポーネントがアルファの値に設定された状態でグレースケールが出力されます。上の例では、ピクセルが出力されます0xFFFFFF09の代わりに0x09090909。したがって、透明性が変化する白であると思われる画像は、基本的に黒で透明になります。読み込んでいるPNGファイルに何も問題はありません。さまざまなグラフィックスプログラムがすべて正しく表示されます。私のピクセルの色を変更するUIImage/CGImage
これは私のkCGImageAlphaPremultipliedFirstの使用と関係があるかどうかは疑問でしたが、CGBitmapContextCreateが他の値で失敗するため、実験できません。
ここでの究極の目的は、glTexImage2Dを使用してテクスチャにアップロードできるピクセルデータを取得することです。私はiOS APIを完全にバイパスするためにlibPNGを使うことができましたが、他の提案はありますか?どうもありがとう。
この質問は既に古くなっていますか?そうでない場合は、問題を再現するためにサンプルプロジェクトに画像をロードするコードを提供できますか? – Kjellski
オファーに感謝します。私はこれを理解することができませんでしたので、CGImage APIの使用を中止し、直接libpngで画像をロードしてください。 – RedMarbleGames