Android Zxing二維碼掃描圖片拉伸問題的解決方法
還是這個接手項目,二維碼掃描集成的是zxing,掃描界面的圖像有明顯的拉伸變形。
這種問題,根據(jù)以往的經(jīng)驗,一般是x,y軸錯位引起的,處理好x,y軸的問題,一般可以解決問題。
由于這個問題,之前有很多人遇到,并分享在網(wǎng)上了,所以,我這里也就不需要重復(fù)造輪子了。
這里看了一篇博客:Android Zxing二維碼掃描圖片拉伸,用了上面的辦法,
成功的解決圖片拉伸問題。
解決方法如下:
修改CameraConfigurationManager.Java里面的initFromCameraParameters方法:
void initFromCameraParameters(Camera camera) {
Camera.Parameters parameters = camera.getParameters();
previewFormat = parameters.getPreviewFormat();
previewFormatString = parameters.get("preview-format");
Log.d(TAG, "Default preview format: " + previewFormat + '/' + previewFormatString);
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
screenResolution = new Point(display.getWidth(), display.getHeight());
Log.d(TAG, "Screen resolution: " + screenResolution);
//added
Point screenResolutionForCamera = new Point();
screenResolutionForCamera.x = screenResolution.x;
screenResolutionForCamera.y = screenResolution.y;
// preview size is always something like 480*320, other 320*480
if (screenResolution.x < screenResolution.y) {
screenResolutionForCamera.x = screenResolution.y;
screenResolutionForCamera.y = screenResolution.x;
}
cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);
// cameraResolution = getCameraResolution(parameters, screenResolution);
Log.d(TAG, "Camera resolution: " + screenResolution);
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android編程實現(xiàn)google消息通知功能示例
這篇文章主要介紹了Android編程實現(xiàn)google消息通知功能,結(jié)合具體實例形式分析了Android消息處理及C#服務(wù)器端與google交互的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
Android?kotlin?跳轉(zhuǎn)手機熱點開關(guān)頁面和判斷熱點是否打開(親測可用)
跳轉(zhuǎn)手機熱點的頁面肯定是用intent,重點是action不知道是什么,網(wǎng)上最常見的就是Settings.ACTION_WIFI_SETTINGS 跳轉(zhuǎn)wifi設(shè)置頁面,本文介紹Android?kotlin?跳轉(zhuǎn)手機熱點開關(guān)頁面和判斷熱點是否打開,感興趣的朋友一起看看吧2023-08-08
Android使用MediaRecorder類實現(xiàn)視頻和音頻錄制功能
Android提供了MediaRecorder這一個類來實現(xiàn)視頻和音頻的錄制功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2018-07-07
Android 多線程實現(xiàn)重復(fù)啟動與停止的服務(wù)
這篇文章主要介紹了Android 多線程實現(xiàn)重復(fù)啟動與停止的服務(wù)的相關(guān)資料,多線程環(huán)境下為了避免死鎖,一般提倡開放調(diào)用,開放調(diào)用可以避免死鎖,它的代價是失去原子性,這里說明重復(fù)啟動與停止的服務(wù),需要的朋友可以參考下2017-08-08

