Вопрос

Когда мы пытаемся сделать изображение, изображение отображается, где красные и синие значения будут взаимозаменены,

      {

    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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top