问题标签 [cgimageref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - CGImageRef 的 NSArray 的问题(但不在模拟器上!)
我正在尝试将一些 CGImageRefs 放入 NSArray。它可以在模拟器上正常工作,但不能在设备上工作 - 它在我尝试使用 EXC_BAD_ACCESS 代码 = 1 错误形成数组时崩溃。我也尝试了其他的东西,比如从一个可变数组开始,但它也不起作用。在控制台输入 bt 的结果是
所以基本上我有很多图像,字母,我有很多层代表单词中的位置,每个层都应该循环遍历它们。例如,图层 1 显示字母 C,然后是字母 F,然后是字母 P 等,而图层 2 显示其他序列。
我以为我会加载每个字母一次...
...并将 CGImageRefs 放在 NSArray 属性中,转换为 id:
然后我再做
但更重要的是,我必须能够将它们(可能每次)放在另一个数组中:
然后将该数组用作 keyFrameAnimation 的值:
所有这些都在模拟器中正常工作,每次。
正如我所说,我尝试了一些变体,唯一可行的方法是当我使用 arrayWithObject 形成一个只有一个 letter-imageref 的可变数组时。即使那样,它也只是有时有效,而且它在我的程序中进一步崩溃。
我似乎在某处读到没有保留 CGImageRefs,因此它们可能在我使用它们之前就被释放了。自从我在引入 ARC 后开始编码以来,我对发布知之甚少,而且由于它一直在模拟器上工作,我认为这不适用于我的情况。
另外,在这个回复中:
一个在 Cocoa Frameworks 上工作的人说它应该可以工作,尽管他没有给出任何细节,所以它可能是暗示的。
任何帮助和建议将不胜感激。
编辑已解决 似乎问题确实是当我尝试将它们添加到数组时图像引用不存在,这是因为它们已经被释放了。显然他们需要使用 CGImageRetain 来保留。它现在可以工作了,我只需要确保它们在之后被释放。
iphone - 显示屏幕截图生成的 UIImage 不在 UIImageView 中显示(仅适用于设备)
我正在尝试将 OpenGL 缓冲区(视图中当前显示的内容)保存到设备的照片库中。下面的代码片段在模拟器上运行良好。但对于实际设备,它正在崩溃。我相信我创建从屏幕捕获的 UIImage 的方式可能存在问题。
- 此操作通过 IBAction 事件句柄方法启动。
- 我用来保存图像的函数是 UIImageWriteToSavedPhotosAlbum(我最近将其更改为 ALAssetsLibrary 的 writeImageToSavedPhotosAlbum)。
- 我已确保我的应用程序有权访问照片库。
- 我还确保我的 CGImageRed 是全局定义的(在文件顶部定义)并且我的 UIImage 是一个(非原子,保留)属性。
有人可以帮我解决这个问题吗?我想要一个从 glReadPixels 数据生成的有效 UIImage 引用。
下面是相关的代码片段(调用保存到照片库):
* 更新 * 我想我已经设法缩小我的问题范围。我开始进行反复试验,在注释掉代码行后我运行应用程序(在设备上),以缩小范围。看起来我可能对TakeImageBufferSnapshot函数有问题,该函数获取屏幕缓冲区(使用 glReadPixels)并创建一个 CGImageRef。现在,当我尝试从中创建 UIImage 时(使用 [UIImage imageWithCGImage:] 方法,这似乎就是应用程序崩溃的原因。如果我将这一行注释掉,似乎没有问题(除了事实上我没有 UIImage 参考)。
我基本上需要一个有效的 UIImage 参考,以便我可以将其保存到照片库(使用测试图像似乎可以正常工作)。
iphone - How to flip a CGImageRef over y-axis
I'm trying to animate a sprite using only CoreAnimation. It's working so far except I can't figure out how to flip the sprite sheet.
Right now, I have a walking animation, but I want the sprite to face the direction it's walking (because it looks kind of silly walking backwards).
I guess I could add the reversed images on the sprite sheet, but I would rather avoid that because it could make it really big when I decide to add more.
Right now, my sprite is extending CALayer
and I've set its contents to the CGImageRef
which is the sprite sheet:
To flip it I tried:
..and that's not working.
I found other solutions which involve animating, but I don't want to animate the flip. I just want it to happen instantly.
Is there a simple way to do this?
If there's a way to flip the whole CALayer
, I'd like to know that too. =]
Thanks!
objective-c - 如何以编程方式提取图像的子图像
我尝试参与UIImage
使用 Objective-C,但找不到任何有关如何执行此操作的信息。我想帮助弄清楚如何做到这一点以及所涉及的步骤。
objective-c - 线程、块、CGImageRef 和范围的问题
我有一个程序,我在其中设置了一个在后台线程上运行的完成块。在块内,我设置了一个 CGImageRef,然后在主线程上设置我的图层内容。问题是,有时应用程序在主线程部分崩溃。
这是完成块,在下面的代码中,fullImage 和 cfFullImage 都在我的 .h 中声明
我的完成块的最后一行是调用 displayFullSize。该功能如下。
您是否看到或知道 setContents 可能失败的任何原因?
谢谢乔
ios - 来自 GRKPhoto 的 UIImage 使用 ALAsset
我使用grabKit是为了允许用户将他们的Instagram、Facebook 和本地图片导入我的应用程序。当照片是本地的时,问题就来了。在这种情况下,我使用了一种在用户选择照片时有效的方法。
为此,我找到的标准代码如下:
通过进行一些调试,我发现当我尝试CGImageRef
从ALAsset
以下行中获取 ergo时,应用程序崩溃了CGImageRef imgRef = [[asset defaultRepresentation] fullResolutionImage];
:
如果它可以帮助解决我的问题,我在控制台中收到的消息是:
感谢您的时间和兴趣!
ios - Conversion of CIImage to CGImageRef which could be used to create a GLK texture
I have a CIImage which is the result/output image of a CIFilter. Now I want to create a texture of that image using GLKTextureLoader. I am using the following function which requires a CGImageRef to achieve that.
So the question is, what is the best way to convert a CIImage to CGImageRef which could be used by GLKTextureLoader?
I tried the following method but it failed:
fullscreenCI is the outputImage of a CIFilter.
The above method gives the following error:
error in creating GLK texture : Error Domain=GLKTextureLoaderErrorDomain Code=12 "The operation couldn’t be completed. (GLKTextureLoaderErrorDomain error 12.)" UserInfo=0x1438a880 {GLKTextureLoaderErrorKey=Image decoding failed}
I figured out it could be because of some colorspace issue and tried the following method:
Now the above method works fine! But I want to know if there is any better way to convert the CIImage to CGImageRef without having to use UIImagePNGRepresentation.
ios - 使用 ios sdk 将 png 文件转换为 gif 文件?
我正在创建从库中获取图像并转换为 gif 文件的 iphone 应用程序。我已使用以下链接成功创建
http://gist.github.com/mayoff/4969104
使用此代码,我可以创建 gif 文件。但图像质量正在发生变化。一些图像被拉伸。请任何人帮助我解决这个问题。
提前致谢。
ios - 什么时候发布 CGImageRef 合适?
在XCode
分析我的代码时,它发现了潜在的内存泄漏。我使用ARC
,但我了解到 ARC 不处理 C 类型。由于我使用它CGImageRef
是为了创建UIImage
它并分配给UIImageView.image
属性,所以什么时候发布合适CGImageRef
?我可以在用它创建一个新UIImage
的之后立即发布它吗?如果我释放CGImageRef
,那么它是否会使我的UIImage
实例也无效?
ios - CFRelease 导致 iPad 应用程序崩溃
我正在尝试合并四个图像以使其成为一个 uiimage。但是当我要做 CFRelease 时,它就崩溃了。如果我不这样做,那么它会导致内存泄漏和崩溃。如何解决?
请参阅下面的代码。
我收到以下错误。我该如何解决这个问题?我的项目在 ARC 中。
* -[UIImage _cfTypeID]:消息发送到释放的实例 0x1e88dce0