Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用GPUImage cropFilter时如何保持纵横比?_Ios_Swift_Gpuimage_Gpuimagestillcamera_Android Gpuimageview - Fatal编程技术网

Ios 使用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

现在我正在申请拍摄Instagram等square电影。 我试图在GPUImage中使用cropFilter来裁剪视频。 这段视频真的是方形的,但看起来很有弹性

我是这样写的

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解决了此问题。谢谢谢谢分享:)