gpt4 book ai didi

Ios 不支持的颜色空间错误

转载 作者:行者123 更新时间:2023-11-28 18:31:25 30 4
gpt4 key购买 nike

当我尝试将某些纹理加载到我的 opengl 应用程序中时,我收到看似压缩的 .png 文件的不受支持的颜色空间错误。

如果我右键单击并检查失败的纹理,它们具有以下属性。

颜色配置文件:sRGB IEC61966-2.1

.png 在压缩时似乎具有此属性。我真的很想拥有这个功能,因为它可以将纹理大小减少约 50%。

这是我的纹理加载代码:

-(GLubyte *) generatePixelDataFromImage: (UIImage *) pic{

GLubyte *pixelData = (GLubyte *) calloc(width * height *4, sizeof(GLubyte));
CGColorSpaceRef imageCS = CGImageGetColorSpace(pic.CGImage);

CGBitmapInfo bitmapInfo = (CGBitmapInfo) kCGImageAlphaPremultipliedLast;
CGContextRef gc = CGBitmapContextCreate(pixelData, width, height, 8, width*4, imageCS, bitmapInfo);

CGContextDrawImage(gc, CGRectMake(0, 0, width, height), pic.CGImage);
CGContextRelease(gc);
return pixelData;
}

这里是错误:

Error: CGBitmapContextCreate: unsupported color space. Feb 14 13:11:59 Garretts-iPhone myApp[712] : CGContextDrawImage: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

有没有办法以编程方式转换纹理,同时仍然享受减少存储空间的好处?

最佳答案

来自Quartz 2D Programming Guide :

Important: iOS does not support device-independent or generic color spaces. iOS applications must use device color spaces instead.

您是否尝试过使用 CGColorSpaceCreateDeviceRGB 作为颜色空间?看起来还好吗?

关于Ios 不支持的颜色空间错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28519274/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com