Swift 3.0 CIEdgeWork过滤器无法正常工作

时间:2016-10-05 05:28:22

标签: ios swift uiimage cifilter ciimage

我正在尝试将CIEdgeWork过滤器应用于我的inputImage,并将过滤后的图像放入myImage(这是一个UIImageView)。我没有得到任何结果(只是一个空白的屏幕)。这个相同的样式代码适用于其他过滤器,如CIEdges。谁知道我做错了什么?在ios10设备上进行测试。

let context = CIContext(options: nil)

if let edgeWorkFilter = CIFilter(name: "CIEdgeWork") {
  let beginImage = CIImage(image: inputImage)
  edgeWorkFilter.setValue(beginImage, forKey: kCIInputImageKey)
  edgeWorkFilter.setValue(3.0, forKey: kCIInputRadiusKey)

  if let output = edgeWorkFilter.outputImage {
    if let cgimg = context.createCGImage(output, from: output.extent) {
      let processedImage = UIImage(cgImage: cgimg)
      myImage.image = processedImage
    }
  }
}

1 个答案:

答案 0 :(得分:3)

找到解决方案,将图像的背景颜色设置为白色以外的其他颜色。