私はカスタムカメラでユーザーがフィルタやステッカー(TextCameraアプリなど)を追加してソーシャルフィードで共有できるアプリを開発しようとしています。 しかし私は最初の問題を発見しました。AVCaptureVideoPreviewLayerに表示される内容を保存します
私はAVCaptureVideoPreviewLayerでプレビューを表示し、写真を撮ってUiImageViewの別のビューコントローラに渡しますが、2番目の画像は最初の画像よりも大きいです。
私はこの機能で画像のサイズを変更しようとした:この機能で
func resize(image: UIImage) -> UIImage {
let size = image.size
let newWidth = CGFloat(size.width)
let newHeight = CGFloat(size.height - blackBottomTab.bounds.size.height)
let newSize = CGSizeMake(newWidth,newHeight)
let rect = CGRectMake(0, 0, newSize.width, newSize.height)
UIGraphicsBeginImageContextWithOptions(newSize, false, 1.0)
image.drawInRect(rect)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
をIは、画像高さから(ボタンの下)ブラックビューの高さを差し引きます。しかし、私が持っている結果は異なっています(添付の写真参照)。
This is my preview with a black view under the button
This is the photo taken larger than preview one
私は、第二ビューコントローラのストーリーボードイメージビューでアスペクトフィットを使用しようとしたが、結果は同じです。
ここで私のエラー私を助けてくれている皆さん、ありがとう!
これは解決策ですか? :) もしそうでなければ、コメントしてください –
いいえ、私もストーリーボードにこの設定があります。 :( –
は、あなたが初期化方法を示したコードとセットアップAVCaptureVideoPreviewLayerを提供してくださいすることができます –