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

还是这个接手项目,二维码扫描集成的是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);
 }

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

(0)

相关推荐

  • Android中利用zxing实现自己的二维码扫描识别详解

    前言 在上一篇文章中已经简单介绍了zxing的使用,快速集成到自己的项目中,但是使用的扫描我们没办法根据自己的需求来做自己的扫描界面,所以这篇我们来学习一下如何根据自己的需求来实现二维码的扫描.当然用到的库依然还是google的zxing.下面话不多说了,来一起看看详细的介绍吧. 方法如下: 首先我们打开google的zxing的地址,googledezxing地址 (本地下载),打开之后我们会看到这样的界面, 将这个文件下载我们本地,下载好之后我们需要复制android文件下的几个类, 根据这

  • Android中使用ZXing生成二维码(支持添加Logo图案)

    ZXing是谷歌的一个开源库,可以用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing/releases 或者在这里下载(只有本项目所用的jar包,版本号:3.2.0):链接:http://pan.baidu.com/s/1pLqAR5x 1.生成二维码的工具类 /** * 二维码生成工具类 */ public class QRCodeUtil { /** * 生成二维码Bitmap

  • Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描

    前言:对于二维码扫描我们使用的是开源框架Zxing或者Zbar,这里使用基于zxing的二维码扫描,类似支付宝网格扫描. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙的利用构成计算机内部逻辑基础的0/1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理:二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息. 效果: 真机

  • Android基于google Zxing实现二维码的生成

    最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中.   下面来介绍这个Demo的主类 public class BarCodeTestActivity extends Activity { priv

  • Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(推荐)

    了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,然后自己的屁颠屁颠的去百度,google啥的,发现很多朋友都有介绍二维码扫描的功能,然后我就跟着人家的介绍自己搞起了二维码扫描功能,跟着人家的帖子,很快我的项目就加入了扫描二维码的功能,然后自己还很开心. 随着微信的到来,二维码越来越火爆,随处能看到二维码,比如商城里面,肯德基,餐厅等等,对于二维码

  • Android上使用ZXing识别条形码与二维码的方法

    目前有越来越多的手机具备自动对焦的拍摄功能,这也意味着这些手机可以具备条码扫描的功能.手机具备条码扫描的功能,可以优化购物流程,快速存储电子名片(二维码)等. 本文所述实例就使用了ZXing 1.6实现条码/二维码识别.ZXing是个很经典的条码/二维码识别的开源类库,早在很久以前,就有开发者在J2ME上使用ZXing了,只不过需要支持JSR-234规范(自动对焦)的手机才能发挥其威力,而目前已经有不少Android手机具备自动对焦的功能. 本文代码运行的结果如下,使用91手机助手截图时,无法截

  • Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题

    先给大家展示下效果图: 扫描内容是下面这张,二维码是用zxing库生成的 由于改了好几个类,还是去年的事都忘得差不多了,所以只能上这个类的代码了,主要就是改了这个CaptureActivity.java package com.zxing.activity; import java.io.IOException; import java.util.Vector; import android.app.Activity; import android.content.Intent; import

  • Android项目实战(二十八):使用Zxing实现二维码及优化实例

    前言: 多年之前接触过zxing实现二维码,没想到今日项目中再此使用竟然使用的还是zxing,百度之,竟是如此牛的玩意. 当然,项目中我们也许只会用到二维码的扫描和生成两个功能,所以不必下载完整的jar包,使用简化版的即可,下文可见. 这篇文章讲述: 1.如果快速在项目中集成zxing,实现扫描和生成二维码功能 2.根据项目需求去修改源码实现我们的要求并进行优化 一.快速集成zxing二维码 1.下载库文件 :http://xiazai.jb51.net/201611/yuanma/ZXingB

  • Android利用ZXing扫描二维码的实例代码解析

    相关阅读: Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题 此项目源码地址:请点击这里 看一下zxing的项目结构,我这里直接拿过来用的 看一下扫码的activity: package com.fanyafeng.barcode.activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle

  • Android基于google Zxing实现各类二维码扫描效果

    随着微信的到来,二维码越来越火爆,随处能看到二维码,比如商城里面,肯德基,餐厅等等,对于二维码扫描我们使用的是google的开源框架Zxing,我们可以去http://code.google.com/p/zxing/下载源码和Jar包,之前我项目中的二维码扫描功能只实现了扫描功能,其UI真的是其丑无比,一个好的应用软件,其UI界面也要被大众所接纳,不然人家就不会用你的软件啦,所以说应用软件功能和界面一样都很重要,例如微信,相信微信UI被很多应用软件所模仿,我也仿照微信扫描二维码效果进行模仿,虽然

随机推荐