Toa*_*oad 8 iphone rendering opengl-es framebuffer
在尝试创建32位RGBA CVPixelBuffer时,我经常会遇到错误.
最值得注意的是错误-6680,这意味着:"缓冲区不支持指定的像素格式."
这是代码片段:(宽度和高度指定为256*256)
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
// [NSNumber numberWithBool:YES], kCVPixelBufferCGBitmapContextCompatibilityKey,
// [NSNumber numberWithBool:YES], kCVPixelBufferCGImageCompatibilityKey,
// [NSNumber numberWithBool:YES], kCVPixelBufferOpenGLCompatibilityKey,
nil];
CVPixelBufferRef pxbuffer = NULL;
CVReturn status = CVPixelBufferCreate(kCFAllocatorDefault, WIDTH,
HEIGHT, kCVPixelFormatType_32RGBA, (CFDictionaryRef) options,
&pxbuffer);
NSParameterAssert(status == kCVReturnSuccess && pxbuffer != NULL);
Run Code Online (Sandbox Code Playgroud)
任何人都可以暗示我做错了什么吗?
您需要使用不同的像素格式.仅仅因为有一个为32RGBA定义的常量并不意味着它被支持.本技术说明列出了支持的格式(截至编写时)以及可用于查找当前支持的格式的功能:
支持的最相似格式是32ARGB和32BGRA.
| 归档时间: |
|
| 查看次数: |
8211 次 |
| 最近记录: |