I colori RGB vengono visualizzati come BRG dopo il rendering su Mac OS X
-
21-12-2019 - |
Domanda
Quando stiamo cercando di rendere l'immagine che l'immagine viene visualizzata dove i valori rossi e blu stanno diventando intercambiati,
{
colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
...
cgctx = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
}
.
Se utilizzo kcgimagealphapremultipliedfirst invece di kcgimagealphapremultipliedlast l'immagine diversa del tutto e ora trovo il verde e il rosso e ottenendo un po 'intercambiata.
Si prega di consigli.
Soluzione
Il suddetto problema della distorsione del colore stava accadendo a causa del modo in cui i pixel sono stati letti dal contesto bitmap, È meglio consigliato superare queste situazioni facendo le seguenti modifiche,
#if __BIG_ENDIAN__
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big;
#else
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little;
#endif