GPUImage使图像大小增加一倍-iOS / Swift

GMHSJ

我正在尝试使用GPUImage将图像转换为灰度图像。我编写了扩展程序以完成工作。灰度的东西还可以。但是输出图像的尺寸已增加一倍。就我而言,我需要图像的大小正确。有人可以帮我吗?任何帮助将不胜感激。

这是我写的扩展名

import UIKit
import GPUImage

extension UIImage {

    public func grayscale() -> UIImage?{

        var processedImage = self

        print("1: "+"\(processedImage.size)")

        let image = GPUImagePicture(image: processedImage)

        let grayFilter = GPUImageGrayscaleFilter()
        image?.addTarget(grayFilter)

        grayFilter.useNextFrameForImageCapture()
        image?.processImage()
        processedImage = grayFilter.imageFromCurrentFramebuffer()

        print("2: "+"\(processedImage.size)")

        return processedImage
    }

}

这是控制台中的输出

在此处输入图片说明

编辑:我知道图像可以稍后调整大小。但是需要知道为什么会发生这种情况,并且在使用GPUImage时有什么方法可以保持图像大小。

Yun CHEN

稍后尝试缩放图像:

if let cgImage = processedImage.cgImage {
     //The scale value 2.0 here should be replaced by the original image's scale. 
     let scaledImage = UIImage(cgImage: cgImage, scale: 2.0, orientation: processedImage.imageOrientation)
     return scaledImage
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章