導航:首頁 > 操作系統 > androidcamera變形

androidcamera變形

發布時間:2022-05-24 18:43:13

android textureview 怎麼設置不拉伸

使用SurfaceView和TextureView進行Camera開發的時候不可避免的會遇到一個問題:Camera 顯示圖像變形,圖像被拉伸或者手機旋轉一定角度(小於90度)圖像變形。
有三種方法可以解決這個問題:
1. 自定義layout,將SurfaceView 和 TextureView addView到此layout,然後通過onLayou, onMeasue,控制SurfaceView及TextureView大小。
2. 使用SurfaceView和TextureView自帶的setLayoutParams(params) 屬性設置控制項大小。
3. 通過TextureView 的setTransform(matrix)方法,控制Camera顯示範圍 (SurfaceView沒有 setTransform 屬性)

② 自家開發的AndroidApp裡面自帶的錄像功能,錄制的畫面變形怎麼解決

相機有自己支持的預覽比例列表,是不是預覽的view的寬高比和相機支持的比例不一樣導致的?如果是的話不要固定那個view的大小,寫成根據相機支持的preview大小自適應吧,然後多出來的部分給蓋住。錄出來的video也有支持的比例列表而且和preview的還不一樣,自己設也可能會導致視頻變形

③ Android如何判斷手機攝像頭是否倒置或旋轉角度

攝像頭沒有裝倒這一說,說明你們開發的程序還是有瑕疵的,都是程序設定的,就好比你拿著手機拍照,不管你怎麼旋轉手機,圖像始終是朝下的,給你個提示:重力感應。

④ android Camera SurfaceView變形,為什麼

1.預覽尺寸固定
修改surfaceview的寬高,使其寬/高 = 預覽尺寸的寬/高
之前我們的facesdk對應的demo都是指定預覽尺寸480*640 寬/高=0.75,為了使預覽圖像時不變形,調整surfaceview的高(在寬度上填充父窗體,這樣比較符合人的審美觀點,但是問題就隨之而來了,那就是高度如何定義?自定義布局文件)
用 「預覽尺寸的寬高」比和「屏幕的寬」計算surfaceview的高,參考代碼facesdk對應的track106demo.
這樣回留下一條白邊
2.根據屏幕的寬高比選擇合適的預覽尺寸。

⑤ Android攝像頭非全屏預覽,怎麼保證圖像不變形

用surfaceview可以設置預覽窗口的大小和位置

然後用setpreviewsize設置攝像頭圖像的大小,大小和surfaceview一致就可以

⑥ android 怎麼判斷camera是否開啟預覽

雜家前文是在2012年的除夕之夜倉促完成,後來很多人指出了一些問題,瑣事纏身一直沒有進行升級。後來隨著我自己的使用,越來越發現不出個升級版的demo是不行了。有時候就連我自己用這個demo測一些性能、功能點,用著都不順手。當初代碼是在linux下寫的,弄到windows里下全是亂碼。還要自己改幾分鍾才能改好。另外,很多人說不能正常預覽,原因是我在布局裡把Surfaceview的尺寸寫死了。再有就是initCamera()的時候設參數失敗,直接黑屏退出,原因也是我把預覽尺寸和照片尺寸寫死了。再有就是照片變形的問題。為此,今天出一個升級版的demo,爭取全面適配所有機型。

上圖為此次的代碼結構,activity包里就是放CameraActivity,日後添加圖庫瀏覽功能再加GalleryActivity。為了使Camera的邏輯和界面的UI耦合度降至最低,封裝了CameraInterface類,裡面操作Camera的打開、預覽、拍照、關閉。preview包里是自定義的Surfaceview。在util包里放著CamParaUtil是專門用來設置、列印Camera的PreviewSize、PictureSize、FocusMode的,並能根據Activity傳進來的長寬比(主要是16:9 或 4:3兩種尺寸)自動尋找適配的PreviewSize和PictureSize,消除變形。默認的是全屏,因為一些手機全屏時,屏幕的長寬比不是16:9或4:3所以在找尺寸時也是存在一些偏差的。其中有個值,就是判斷兩個float是否相等,這個參數比較關鍵,裡面設的0.03.經我多個手機測試,這個參數是最合適的,否則的話有些奇葩手機得到的尺寸拍出照片變形。下面上源碼

⑦ android camera 預覽變形 錄制沒

預覽變形是不是設置預覽尺寸有問題,或者是你預覽尺寸是寫死的,而不是跟隨手機支持走的,你可以發下你代碼,最近項目才做了視頻錄制,記得採納

⑧ Android-android camera把預覽做成正方形,請問如何實現的

您好,很高興為您解答:

Parameters params = mCamera.getParameters();
List<Size> list = params.getSupportedPreviewSizes();
params.setPreviewSize(從list中選個正方形的Size【若有】, y);
mCamera.setParameters(params);

大概就是這樣。前提是camera支持的list里邊有正方形的預覽。

⑨ Android Camera 預覽為正方形

不支持的話可以根據比列適當的剪切一下控制項surface的大小應該可以顯示出1:1就是可能畫面會小一點

⑩ android camera2 用surfaceview輸出預覽圖像畫面拉長

項目當中遇到調整攝像頭位置需要全屏顯示攝像頭預覽界面,過程中發現預覽界面存在無法顯示全,畫面被拉伸的問題。surfaceview的寬高比可能與camera設置的寬高比不一致 ,經測試發現設置Camera 預覽寬高可解決此問題(注意這里設置屏幕物理寬高不起作用,必須設置屏幕解析度)
////通過Resources獲取(無效)
// DisplayMetrics dm = getResources().getDisplayMetrics();
// heigth = dm.heightPixels;
// width = dm.widthPixels;
//獲取屏幕的默認解析度 設置預覽界面長寬解決預覽界面變形顯示不全問題(有效)
Display display = getWindowManager().getDefaultDisplay();
int height = display.getWidth();
int width = display.getHeight();
Camera.Size preSize = CameraUtil.getCloselyPreSize( true , width, height, parameters.getSupportedPreviewSizes());
parameters.setPreviewSize(preSize.width, preSize.height);
Log.e(TAG + "攝像頭尺寸前置" , "width" + preSize.width + "------" + "height" + preSize.height);
camera2.setParameters(parameters);
// 啟動攝像頭預覽
camera2.startPreview();
System.out.println( "camera.startpreview" );

閱讀全文

與androidcamera變形相關的資料

熱點內容
三台伺服器配置IP地址 瀏覽:171
如何用命令方塊連續對話 瀏覽:274
win7linux共享文件夾 瀏覽:301
命令符打開本地服務 瀏覽:597
android應用程序源碼 瀏覽:699
安卓開發工程師簡歷怎麼寫 瀏覽:57
熱水器水量伺服器是什麼意思 瀏覽:115
stk衛星編譯 瀏覽:477
對後台程序員的要求 瀏覽:759
ios大文件夾圖標 瀏覽:624
生的計劃pdf 瀏覽:711
oppoa93加密便簽在哪查找 瀏覽:21
兩個數字的加減乘除運算編程 瀏覽:227
給手機加密碼忘記了怎麼辦 瀏覽:601
單片機運算符 瀏覽:297
移動端微信商城源碼 瀏覽:443
編程貓下一個背景在哪裡 瀏覽:359
javaclasstype 瀏覽:239
樂高編程和樂高課的延伸 瀏覽:357
蘋果手機怎麼切換app美國賬號 瀏覽:865