首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CreateWrappedSurface()对数据提供程序支持的CGImageRef失败

CreateWrappedSurface()对数据提供程序支持的CGImageRef失败
EN

Stack Overflow用户
提问于 2015-11-21 02:38:16
回答 1查看 1.3K关注 0票数 1

我正在关注核心图像部分中的iOS 9开发书籍。我在向UIImage应用过滤器时遇到了一个问题。

以下代码摘自这本书:

代码语言:javascript
复制
resultHandler: { (image: UIImage?, info: [NSObject : AnyObject]?) -> Void in
            if let image = image, var ciImage = CIImage(image: image) where SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter) {
                ciImage = ciImage.imageByApplyingFilter("CIPixellate", withInputParameters: ["inputScale" : 10.0])
                let ciContext = CIContext(options: nil)
                let cgImage = ciContext.createCGImage(ciImage, fromRect: ciImage.extent)
                let tweetImage = UIImage(CGImage: cgImage)
                let tweetVC = SLComposeViewController(forServiceType:SLServiceTypeTwitter)
                tweetVC.setInitialText("Here's a photo I tweeted. #pragsios9")
                tweetVC.addImage(tweetImage)
                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    self.presentViewController(tweetVC, animated: true, completion: nil) })
                }
        })

代码构建并运行,但当我单击该resultHandler时,将输出以下日志:

代码语言:javascript
复制
CreateWrappedSurface() failed for a dataprovider-backed CGImageRef.

图像没有像素化。

一步一步地遵循这本书,在这一点上,简单地复制和粘贴该代码。

更新

追踪它一点,似乎CIImage(image: image)正在失败。我正在使用来自模拟器的示例图像的第一个图像。

我设法得到了一个不同的图像,它实际上是像素化的,但仍然得到日志消息。

EN

回答 1

Stack Overflow用户

发布于 2016-06-24 02:36:49

调用CGImage引用似乎消除了消息: var ciImage = CIImage(CGImage: image.CGImage)

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

https://stackoverflow.com/questions/33839105

复制
相关文章

相似问题

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