簡體   English   中英

Android - 如何使用TextureView裁剪相機預覽

[英]Android - How to Crop Camera Preview using TextureView

我有一個WpxHp的預覽,我想拍攝HxW圖片,因此我希望用戶看到一個預覽窗口,它具有與我將拍攝的圖片相同的寬高比,而不是預覽。 如何使用TextureView裁剪預覽?

- 編輯

我想的是使用一個縮放矩陣來扭曲圖像,以便為TextureView調整大小,讓我更好地解釋一下:
我的目標預覽(圖像)大小為(W,H)。 因此,我需要將TextureView的大小調整為(W,H)。 這意味着失真只是由矩陣S表示的非均勻線性縮放。因此,如果我在調整視圖大小之前使用inv(S)縮放圖像,我應該獲得預覽的相同原始尺寸(因此具有相同的寬高比)但隨着TextureView的大小調整,這相當於裁剪。 我試過,它似乎工作,但我正在尋找另一種方式

我唯一能做到的,它運作良好的是增加一個規模。

我想用相機輸出的一部分創建一個紋理視圖,但是如果不讓預覽得到破壞,我就無法做到這一點。

所以在我決定相機/屏幕比率開始捕捉的最佳分辨率后,我得到相機捕捉高度和我想要顯示的高度之間的比例。

mPreviewSize = chooseOptimalSize(...);

int viewHeight = getDP(this, R.dimen.videoCaptureHeight);
float scaleY = mPreviewSize.getHeight() / viewHeight;
setScaleY(scaleY);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM