Los colores RGB se muestran como BRG después de la representación en Mac OS X
-
21-12-2019 - |
Pregunta
Cuando intentamos hacer que la imagen se muestre la imagen donde los valores rojos y azules se están intercambiando,
{
colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
...
cgctx = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
}
Si uso kcgimagealphapremultipliedfirst en lugar de kcgimagealphapremultiplied, la imagen es diferente, y ahora encuentro el verde y el rojo y se está intercambiando un poco.
por favor conseje.
Solución
El problema anterior de la distorsión del color estaba sucediendo debido a la forma en que se le han leído los píxeles del contexto de mapa de bits, Se recomienda mejor que supere estas situaciones haciendo los siguientes cambios,
#if __BIG_ENDIAN__
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big;
#else
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little;
#endif