質問

画像をレンダリングしようとすると、赤と青の値が入れ替わっている場所に画像が表示されます,

      {

    colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);

        ...

    cgctx = CGBitmapContextCreate (bitmapData,
                                pixelsWide,
                                pixelsHigh,
                                8,      // bits per component
                                bitmapBytesPerRow,
                                colorSpace,
                                kCGImageAlphaPremultipliedLast);

 }

KCGImageAlphapRemultipliedFirstの代わりにkcgimagealphapremultipliedfirstを使用すると、画像が完全に異なり、今では緑と赤が見つかり、少し交換されています。

アドバイスしてください。

役に立ちましたか?

解決

上記の色の歪みの問題は、ビットマップコンテキストからピクセルが読み取られる方法が原因で発生していました, 次の変更を行うことで、この状況を克服することをお勧めします,

#if __BIG_ENDIAN__ bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big; #else bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little; #endif

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top