Les couleurs RVB s'affichent en tant que BRG après le rendu sur MAC OS X
-
21-12-2019 - |
Question
Lorsque nous essayons de restituer l'image, l'image s'affiche là où les valeurs rouge et bleue sont échangées,
{
colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
...
cgctx = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
}
si j'utilise kCGImageAlphaPremultipliedFirst au lieu de kCGImageAlphaPremultipliedLast, l'image est complètement différente et maintenant je trouve le vert et le rouge et je les échange un peu.
S'il vous plaît, des conseils.
La solution
Le problème ci-dessus de la distorsion des couleurs se produisait en raison de la façon dont les pixels ont été lus dans le contexte du bitmap, il est mieux conseillé de surmonter ces situations en apportant les modifications suivantes,
#if __BIG_ENDIAN__
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big;
#else
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little;
#endif