Ios 使用GPUImage cropFilter时如何保持纵横比?
现在我正在申请拍摄Instagram等square电影。 我试图在GPUImage中使用cropFilter来裁剪视频。 这段视频真的是方形的,但看起来很有弹性 我是这样写的Ios 使用GPUImage cropFilter时如何保持纵横比?,ios,swift,gpuimage,gpuimagestillcamera,android-gpuimageview,Ios,Swift,Gpuimage,Gpuimagestillcamera,Android Gpuimageview,现在我正在申请拍摄Instagram等square电影。 我试图在GPUImage中使用cropFilter来裁剪视频。 这段视频真的是方形的,但看起来很有弹性 我是这样写的 videoView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.width) videoView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill
videoView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.width)
videoView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill
self.view.addSubview(videoView)
videoCamera.outputImageOrientation = .Portrait
videoCamera.addTarget(videoView)
let documentDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0]
let fileName = "video.mp4"
pathToMovie = (documentDirectory as NSString).stringByAppendingPathComponent(fileName)
let movieURL = NSURL(fileURLWithPath: pathToMovie)
unlink((pathToMovie as NSString).UTF8String)
movieWriter = GPUImageMovieWriter(movieURL: movieURL, size: CGSize(width: 480, height: 480))
movieWriter.encodingLiveVideo = true
movieWriter.shouldPassthroughAudio = true
movieWriter.assetWriter.movieFragmentInterval = kCMTimeInvalid
videoCamera.addTarget(movieWriter)
videoCamera.audioEncodingTarget = movieWriter
let cropFilter = GPUImageCropFilter(cropRegion: CGRect(x: 0, y: 0.125, width: 1.0, height: 0.75))
videoCamera.addTarget(cropFilter)
cropFilter.addTarget(movieWriter)
videoCamera.startCameraCapture()
movieWriter.startRecording()
任何人,请帮忙 您是否尝试过KgpuImageFillMode保留Aspectratio并适应
fillMode
?我通过使用videoCamera.setInputFramebufferForTarget()而不是videoCamera.addTarget解决了此问题。谢谢感谢您的分享:)您是否尝试过KGPU ImageFillMode保留Aspectratio并适应fillMode
?我通过使用videoCamera.setInputFramebufferForTarget()而不是videoCamera.addTarget解决了此问题。谢谢谢谢分享:)