首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CVPixelBufferCreate in RubyMotion

CVPixelBufferCreate in RubyMotion
EN

Stack Overflow用户
提问于 2014-01-13 20:43:34
回答 1查看 235关注 0票数 0

我试图从https://github.com/Lockerios/VideoFromImage重新创建一些功能,并在本文中讨论:ASSETWriterInput for making Video from UIImages on Iphone Issues

在像素pixelBufferFromCGImage:size方法中,到目前为止我有以下内容:

代码语言:javascript
复制
options = {KCVPixelBufferCGImageCompatibilityKey => 1, KCVPixelBufferCGBitmapContextCompatibilityKey => 1}

pxbuffer = nil
status = CVPixelBufferCreate(KCFAllocatorDefault, imageSize.width, imageSize.height, KCVPixelFormatType_32ARGB, options, pxbuffer)

其中imageSize.width == 640.0和imageSize.height == 1136.0

然而,状态总是返回-6661。我有点搞不懂为什么会发生这种事。在其他地方调用此方法的方法如下:

代码语言:javascript
复制
buffer = pixelBufferFromCGImage(array.objectAtIndex(0).CGImage, size:CGSizeMake(640, 1136))

当我从pixelBufferFromCGImage函数中检查图像时,它的类型似乎是"#<__NSCFType:0x9ba7fa0>“--我不确定这是否会造成问题。

我似乎是根据CVPixelBufferCreate函数向ref/doc/uid/TP40010164-CH4g-BABIIDJJ函数传递了一个不正确的参数,其中最有可能的参数是最后一个'pixelBufferOut‘参数。

任何对这个问题的洞察力都将不胜感激。到目前为止,我在https://gist.github.com/naderhen/8407730上有一个完整的代码要点

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-13 20:58:07

看起来,最后一个参数应该是指向CVPixelBufferRef对象的指针。你可以试试这个:

代码语言:javascript
复制
pxbuffer = Pointer.new(:object)

这样做,我的状态是0,而不是-6661。

然后,使用pxbuffer[0]访问缓冲区

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21100957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档