Цвета RGB отображаются как Brg после рендеринга на Mac OS X
-
21-12-2019 - |
Вопрос
Когда мы пытаемся сделать изображение, изображение отображается, где красные и синие значения будут взаимозаменены,
{
colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
...
cgctx = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
}
.
Если я использую KCGIMAGEALPHAPREMULTIPLiedFirst вместо KCGIMAGEALPHAPREMULTIPLIEDLast, изображение в целом, и теперь я нахожу зеленый и красный и получаю немного взаимодействую.
Пожалуйста, совет.
Решение
Вышеуказанная проблема искажения цвета происходило из-за того, как пиксели были прочитаны из растрового контекста, Лучше рекомендовать преодолеть эти ситуации, сделав следующие изменения,
#if __BIG_ENDIAN__
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big;
#else
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little;
#endif