拉伸的原因
1.主要是由於su***ceview的尺寸和 相機預覽尺寸不一致造成的
@override
public
void
su***cechanged
(su***ceholder holder, int format, int width, int height)
log為
相機–》su***ceview: width–720
相機–》su***ceview: height–360
相機–》mcamera: width–1920
相機–》mcamera: height–1080
可以看到 su***ceview寬高比為2/1 但是相機預覽尺寸比為16/9,所以造成了拉伸
2.解決辦法獲取相機預覽的支援尺寸,動態設定最接近的尺寸
@override
public
void
su***cechanged
(su***ceholder holder, int format, int width, int height)
log為
相機–》surfcaeview: width–720
相機–》surfcaeview: height–360
相機–》closelypresize: width–1920
相機–》closelypresize: height–960
相機–》mcamera: width–1920
相機–》mcamera: height–960
可以看到此時相機和su***ceview的比例都為2/1,預覽就沒有了拉伸
3最後附上獲取接近比例的方法,
protected camera.size getcloselypresize
(int su***cewidth, int su***ceheight,
list presizelist)
else
//先查詢preview中是否存在與su***ceview相同寬高的尺寸
for(camera.size size : presizelist)
}// 得到與傳入的寬高比最接近的size
float reqratio =
((float) reqtmpwidth)
/ reqtmpheight;
float curratio, deltaratio;
float deltaratiomin = float.
max_value
; camera.size retsize =
null
;for
(camera.size size : presizelist)
}return retsize;
}
相機開發 學習 android相機拍照
拍照有兩種方式,一是使用android.hardware.camera,二是使用intent android.media.action.image capture 當然還是第一種好,不過 太複雜,以後有時間再說,這裡就說一下第二種方式吧。try catch exception e 這樣就可以呼叫系統...
Android之預覽PDF檔案
上週臨時收到客戶的說明書,說要放在應用裡顯示,本來覺得乙個非常簡單的事情沒想到一波三折。第一波 我使用了pdfviewer控制項 相了解的可以檢視 遇到的坑就是 因為裝置是橫屏的,這個控制項在手機上預覽pdf很不錯,我一下子沒有找到橫向鋪滿的方法,因此顯示起來頁面顯的非常小,由於時間比較急沒有去細細...
Android系統Camera預覽剛開啟時由暗變明
一 回憶下v4l2驅動操作流程 1.查詢驅動功能 struct v4l2 capability cap ioctl fd,vidioc querycap,cap printf tk driver name s ncard name s nbus info s n cap.driver,cap.car...