【发布时间】:2018-01-01 07:23:51
【问题描述】:
我使用 GPUImage2(https://github.com/BradLarson/GPUImage2) 编写了一个代码。
我确认我的代码在触摸设置按钮之前成功保存了图像(渲染过滤图像)。
但是,我的代码在触摸设置按钮后保存了一个红色图像(大小相同,只有红色填充)。
我的应用程序。包括一个 RenderView IBOutlet 和两个 IBActions(设置按钮和保存按钮)。
这是我的完整源代码。
点击设置按钮后如何成功保存图片?
import UIKit
import GPUImage
class ViewController: UIViewController {
var inputUIImage = UIImage(named: "testImage.png")
@IBOutlet weak var renderView: RenderView!
var pictureInput: PictureInput!
var filterColorInversion = ColorInversion()
@IBAction func setButtonDown(_ sender: UIButton) {
pictureInput = PictureInput(image: inputUIImage!)
pictureInput --> filterColorInversion --> renderView
pictureInput.processImage()
}
@objc func saveImageFailedCallback(_ image: UIImage, didFinishSavingWith error: NSError?, contextInfo context: UnsafeMutableRawPointer?) {
print("\(String(describing: error))")
}
@IBAction func saveButtonDown(_ sender: UIButton) {
let outputImage = inputUIImage!.filterWithOperation(filterColorInversion)
UIImageWriteToSavedPhotosAlbum(outputImage, self, #selector(saveImageFailedCallback(_:didFinishSavingWith:contextInfo:)), nil)
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
这表明我的代码在触摸设置按钮之前成功保存了图像(渲染过滤后的图像):
这表明我的代码在触摸设置按钮后无法保存过滤后的图像(但大小相同,仅填充红色):
【问题讨论】:
标签: ios swift uiimage gpuimage core-image