Swift:在 swift 中应用滤镜时出现 UIImage 方向问题
Swift: UIImage orientation problem when applying filter in swift
我想通过 CIPhotoEffectNoir 将图像转换为灰度,但使用后图像会旋转。我搜索了很多,但答案不能解决我的问题。
这是我的代码:
func grayscale(image: UIImage) -> UIImage? {
let context = CIContext(options: nil)
if let filter = CIFilter(name: "CIPhotoEffectNoir") {
filter.setValue(CIImage(image: image), forKey: kCIInputImageKey)
if let output = filter.outputImage {
if let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage)
}
}
}
return nil
}
之前:
之后:
我想要的:
当您创建新的 UIImage 实例时,不要忘记使用原始 UIImage 中的 scale
和 orientaion
值。
return UIImage(
cgImage: cgimg,
scale: image.scale,
orientation: image.imageOrientation)
我想通过 CIPhotoEffectNoir 将图像转换为灰度,但使用后图像会旋转。我搜索了很多,但答案不能解决我的问题。
这是我的代码:
func grayscale(image: UIImage) -> UIImage? {
let context = CIContext(options: nil)
if let filter = CIFilter(name: "CIPhotoEffectNoir") {
filter.setValue(CIImage(image: image), forKey: kCIInputImageKey)
if let output = filter.outputImage {
if let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage)
}
}
}
return nil
}
之前:
之后:
我想要的:
当您创建新的 UIImage 实例时,不要忘记使用原始 UIImage 中的 scale
和 orientaion
值。
return UIImage(
cgImage: cgimg,
scale: image.scale,
orientation: image.imageOrientation)