Swiftプレイグラウンドでは、JPEGを読み込んでUIImageに変換し、モノクロにフィルタリングしています。 その後、結果として得られたフィルタリングされた画像をUIImageに変換します。スイフトプレイグラウンド - フィルタリングされたUIImageをCGImageに変換できません
入力画像とフィルタ画像が正しく表示されます。
次に、両方のイメージをCGImageタイプに変換します。 これは、入力画像のために動作しますが、フィルタリングされた画像は、変換からnilを返します。
// Get an input image
let imageFilename = "yosemite.jpg"
let inputImage = UIImage(named: imageFilename)
let inputCIImage = CIImage(image:inputImage!)
// Filter the input image - make it monochrome
let filter = CIFilter(name: "CIPhotoEffectMono")
filter!.setDefaults()
filter!.setValue(inputCIImage, forKey: kCIInputImageKey)
let CIout = filter!.outputImage
let filteredImage = UIImage(CIImage: CIout!)
// Convert the input image to a CGImage
let inputCGImageRef = inputImage!.CGImage // Result: <CGImage 0x7fdd095023d0>
// THE LINE ABOVE WORKS
// Try to convert the filtered image to a CGImage
let filteredCGImageRef = filteredImage.CGImage // Result: nil
// THE LINE ABOVE DOES NOT WORK
// Note that the compiler objects to 'filteredImage!.CGImage'
間違っているのですか?
複製を? http://stackoverflow.com/questions/10022534/cgimage-of-uiimage-return-null –
@BryanChen - これは同じ問題ですが、それはObjective Cの解決策です。 –
だから、私はあなたの質問に投票を終わらせなかったのです。しかし、リンクはCGImageがゼロである理由を答えてくれます。 –