2
我正在嘗試使用GPUImage庫來記錄帶有一些覆蓋文本的視頻。覆蓋層錄製到目前爲止工作,但我無法實現覆蓋,以適當的大小。無論我通過初始化使用哪個幀,疊加視圖總是佔用預覽圖層(GPUImageView)的整個大小。我試圖在故事板和編程中添加疊加層。這裏是我的代碼:GPUImageUIElement覆蓋圖大小
camera = GPUImageVideoCamera(sessionPreset: AVCaptureSessionPresetHigh, cameraPosition: AVCaptureDevicePosition.Back)
camera.outputImageOrientation = UIInterfaceOrientation.LandscapeRight
camera.horizontallyMirrorFrontFacingCamera = false
camera.horizontallyMirrorRearFacingCamera = false
filterView = self.view as! GPUImageView
filter = GPUImageBrightnessFilter()
blendFilter = GPUImageAlphaBlendFilter()
blendFilter.mix = 1.0
camera.addTarget(filter)
// here I try to add a label as UIElement
let label = UILabel(frame: CGRect(x: 10, y: 10, width: 100, height: 30))
label.text = "Demo text"
label.textColor = UIColor.redColor()
label.font = UIFont.systemFontOfSize(17.0)
label.backgroundColor = UIColor.clearColor()
view.addSubview(label) // for test purposes
uiElementInput = GPUImageUIElement(view: label)
filter.addTarget(blendFilter)
uiElementInput.addTarget(blendFilter)
blendFilter.addTarget(filterView)
filter.frameProcessingCompletionBlock = { filter, time in
self.uiElementInput.update()
}
camera.startCameraCapture()
我怎樣才能得到的UIElement有像標籤更小尺寸的視圖部分?這個想法是添加一個預定義的覆蓋視圖(不只是一個標籤),但它也有錯誤的尺寸。
謝謝!
或者你可以使用GPUImageTransformFilter! – BurtK
感謝您的回覆!我終於也發現我需要爲預設尺寸設置標籤的大小。之後,我嘗試了我在故事板中創建的子視圖。所以我不得不添加一個大小與我的UIScreen.mainScreen()。bounds.size相同的空視圖,然後將設計的視圖添加到此佔位符視圖。經過這些操作後,我終於得到了子視圖的正確尺寸。 –
@AndreyGershengoren太棒了! – BurtK