欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Zxing二维码扫描图片拉伸问题的解决方法

程序员文章站 2023-12-04 18:51:46
还是这个接手项目,二维码扫描集成的是zxing,扫描界面的图像有明显的拉伸变形。 这种问题,根据以往的经验,一般是x,y轴错位引起的,处理好x,y轴的问题,一般可以解决问...

还是这个接手项目,二维码扫描集成的是zxing,扫描界面的图像有明显的拉伸变形。

这种问题,根据以往的经验,一般是x,y轴错位引起的,处理好x,y轴的问题,一般可以解决问题。

由于这个问题,之前有很多人遇到,并分享在网上了,所以,我这里也就不需要重复造*了。

这里看了一篇博客: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);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。