CIFilter不工作Playground iOS 10

时间:2017-07-10 02:09:53

标签: ios swift-playground

在尝试让CIFilter在iOS 10游乐场中工作时,我不断在控制台中收到无效的上下文消息并导致崩溃。

我见过CIFilters使用kCIInputImageKey在OS X游乐场中工作,如:

obj.setValue(img, forKey: kCIInputImageKey)

我假设iOS上不支持kCIInputImageKey并寻求确认。

以下是我在游乐场控制台中遇到的错误:

Jul 9 20:59:53 UITest [7538]:CGContextSaveGState:无效的上下文0x0。如果你想查看回溯,请设置CG_CONTEXT_SHOW_BACKTRACE环境变量。

这是我的代码:最后一行在游乐场崩溃,但在模拟器中工作正常。

import UIKit
import PlaygroundSupport

let iv = UIImageView(frame: CGRect(x: 11, y: 39, width: 354, height: 589))

//UIBeginGraphicsContew
let moi = UIImage(named:"moi")!
let moici = CIImage(image:moi)!
let moiextent = moici.extent
let center = CIVector(x: moiextent.width/2.0, y: moiextent.height/2.0)

let smallerDimension = min(moiextent.width, moiextent.height)
let largerDimension = max(moiextent.width, moiextent.height)

let grad = CIFilter(name: "CIRadialGradient")!
// OS X only??
//grad.setValue(moici, forKey: kCIInputImageKey)
grad.setValue(center, forKey:"inputCenter")
grad.setValue(smallerDimension/2.0 * 0.85, forKey:"inputRadius0")
grad.setValue(largerDimension/2.0, forKey:"inputRadius1")

let gradimage = grad.outputImage!

0 个答案:

没有答案