課程
/移動開發(fā)
/Android
/Android攝像頭基礎(chǔ)
拍出來的和圖片不一樣
2016-06-21
源自:Android攝像頭基礎(chǔ) 3-5
正在回答
首先,這個問題和樓上的說法沒有任何關(guān)系。
這個問題歸根結(jié)底是由于不同android rom兼容性導致的問題,解決思路也要從兼容性著手。
當自己調(diào)用camera實現(xiàn)拍照的時候,有一個picture size的設(shè)置,就是拍照生成圖片的寬和高。如果自己沒有指定,android系統(tǒng)會自己默認給你一個picture size,不同android rom的差異性導致了有些默認size是很小的(最低的size)。
所以,解決方法就是在拍照的時候指定自己想要的picture size。通常的做法是先找到系統(tǒng)camera所支持的所有picture size,然后找一個自己想要的(規(guī)則自己定)。具體如下:
Parameters?params?=?mCamera.getParameters(); List<Camera.Size>?supportedSize?=?parameters.getSupportedPictureSizes(); Camera.Size?optimalPictureSize?=?...;?//?遍歷所有的size從中找一個自己想要的 parameters.setPictureSize(optimalPictureSize.width,?optimalPictureSize.height);
如果圖片模糊不清晰就可以指定大的size。
看看有沒有漏掉這幾行代碼
/** * 解決拍照后圖像與實際情況不同的問題 */try { ? ?FileInputStream fis=new FileInputStream(path); ? ?Bitmap bitmap= BitmapFactory.decodeFile(path); ? ?Matrix matrix=new Matrix(); ? ?matrix.setRotate(90); ? ?bitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true); ? ?imageView.setImageBitmap(bitmap);} catch (FileNotFoundException e) { ? ?e.printStackTrace();}
舉報
帶你走進Android攝像頭的秘密花園,探索Camera的奧秘
1 回答為什么圖片不清晰,很模糊
2 回答拍出來的圖片分辨率怎么這么低?
2 回答拍照獲取不到圖片?
2 回答沒有SD卡,拍完的圖片找不到
1 回答圖片不清楚
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-02-01
首先,這個問題和樓上的說法沒有任何關(guān)系。
這個問題歸根結(jié)底是由于不同android rom兼容性導致的問題,解決思路也要從兼容性著手。
當自己調(diào)用camera實現(xiàn)拍照的時候,有一個picture size的設(shè)置,就是拍照生成圖片的寬和高。如果自己沒有指定,android系統(tǒng)會自己默認給你一個picture size,不同android rom的差異性導致了有些默認size是很小的(最低的size)。
所以,解決方法就是在拍照的時候指定自己想要的picture size。通常的做法是先找到系統(tǒng)camera所支持的所有picture size,然后找一個自己想要的(規(guī)則自己定)。具體如下:
如果圖片模糊不清晰就可以指定大的size。
2016-06-21
看看有沒有漏掉這幾行代碼
/**
* 解決拍照后圖像與實際情況不同的問題
*/
try {
? ?FileInputStream fis=new FileInputStream(path);
? ?Bitmap bitmap= BitmapFactory.decodeFile(path);
? ?Matrix matrix=new Matrix();
? ?matrix.setRotate(90);
? ?bitmap=Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
? ?imageView.setImageBitmap(bitmap);
} catch (FileNotFoundException e) {
? ?e.printStackTrace();
}