RGB 색상은 Mac OS X에서 렌더링 한 후 BRG로 표시됩니다.
-
21-12-2019 - |
문제
빨간색과 파란색 값이 상호 교환되는 곳에서 이미지를 렌더링하려고 할 때 이미지가 표시됩니다.
{
colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
...
cgctx = CGBitmapContextCreate (bitmapData,
pixelsWide,
pixelsHigh,
8, // bits per component
bitmapBytesPerRow,
colorSpace,
kCGImageAlphaPremultipliedLast);
}
.
KCGIMAGEALPHAPREMULTIPLIDLISTIPLISTIPLIDLAST 대신 KCGIMAGEALPHAPREMULTIPLIEDFIRST를 사용하면 녹색과 적색을 찾아서 비트 교환을 얻습니다.
조언을하십시오.
해결책
비트 맵 컨텍스트에서 픽셀이 읽혀 졌기 때문에 색상 왜곡의 문제가 발생했습니다. 다음과 같은 변경 사항을 함으로써이 상황을 극복하는 것이 좋습니다
#if __BIG_ENDIAN__
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Big;
#else
bitmap_info = kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little;
#endif
제휴하지 않습니다 StackOverflow