3

ディスクに保存されている TIFF からバッファに画像データをロードしています。その後、このバッファを使用して OpenGL テクスチャを作成します。に書き込むことでデータを取得していますCGContext。元の画像は、すべてのピクセルが 100% 白です。ピクセルごとに変化するのはアルファ値だけです。

に書き込むとCGContext、透明ピクセルの色が保持されません。「なぜ透明なピクセルの色を気にするのですか?」とあなたは尋ねますか? 画像を拡大縮小すると、透明なピクセルの色が見えるようになり、醜い暗い輪郭のアーティファクトが作成されます。

データを からバッファに直接読み込み、CGImageそのバッファを使用してテクスチャを作成しようとしましたCGImageGetDataProvider(image)が ( を使用)、これは CGImage の色空間が RGBA の場合にのみ機能します。おそらく、CGContextDrawimageある色空間から別の色空間への変換を処理します。

CGContextDrawimage透明なピクセルの色を保持する方法はありますか? それとも、別の方法で画像をロードする必要がありますか?

4

0 に答える 0