MAC OS Xでレンダリングした後、RGB色がBRGとして表示されるようになりました
-
21-12-2019 - |
質問
画像をレンダリングしようとすると、赤と青の値が入れ替わっている場所に画像が表示されます,
{
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
所属していません StackOverflow