android 拍照屏幕大小,Android Camera 找出屏幕的最佳尺寸大小
大家平時都會調用到Camera 這個API,在設置Camera.Paramera的參數的時候,有一個預覽大小。也就是:
setPreviewSize(int width, ing height)
這個相機的大小不能隨便設置,如果設置了不可接受的值,程序會崩潰掉。
現在給大家提供一個很好用的方法。
private Size getBestSupportedSize(List sizes), int width, int height) {
Size bestSize = sizes.get(0);
int largestArea = bestSize.width * bestSize.height;
for (Size s : sizes) {
int area = s.width * s.height;
if (area > largestArea) {
bestSize = s;
largestArea = area;
}
}
return bestSize;
}
至于這個方法中的幾個參數從哪里來的。我們需要在SurfaceHolder的Callback回調方法中來初始化相機的。
holder.addCallback(new SurfaceHolder.Callback(){
...
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = mCamera.getParameters();
Size s = getBestSupportedSize(parameters.getSupportedPreViewSizes(), w, h);
parameters.setPreviewSeze(s.width, s.height);
....
}
});
我們通常拍完照之后還會設置圖片的大小,其實也是一樣的,Camera.Parameter有一個方法:
getSupportedPictureSizes()
s = getBestSupportedSize(parameters.getSupportedPictureSizes(), w, h);
parameters.setPictureSize(s.width, s.height);
小方法,大技巧。這是在 Android 權威指南這本書上看到的,記錄下筆記。
總結
以上是生活随笔為你收集整理的android 拍照屏幕大小,Android Camera 找出屏幕的最佳尺寸大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新计算机无法 盘启动不了,U盘无法被电脑
- 下一篇: Android pda出入库管理,出入库