ZXing笔记(3)—Nice ZXing,为ZXing美容,修改扫描框,扫描动画

本文介绍了如何美化ZXing二维码扫描库,包括调整扫描框大小、定制四角图形和颜色,以及修改扫描激光动画效果。通过修改`CameraManager.java`和`ViewfinderView.java`的相关代码,实现了矩形框尺寸调整、边角图形颜色定制及动画效果的个性化。文章提供了具体的代码示例和效果展示,并给出了进一步优化的建议。
摘要由CSDN通过智能技术生成

前言

前面俩篇进行了艰苦的爬坑之旅,主要是对官方代码进行了修改和编译。
这一篇我们就来干点轻松的事吧——
- 给ZXing美美容
- 调调API,^_^。

为ZXing美容

一般的需求都会涉及到四个方面:
- 矩形框大小
- 矩形框四角的图形&颜色
- 扫描激光动画
- 噪点

矩形框大小调整

主要集中在这个类$CameraManager.java

相关的代码:

getFramingRect()

public synchronized Rect getFramingRect() {
              int width = findDesiredDimensionInRange(screenResolution.x, MIN_FRAME_WIDTH, MAX_FRAME_WIDTH);
          int height = findDesiredDimensionInRange(screenResolution.y, MIN_FRAME_HEIGHT, MAX_FRAME_HEIGHT);

          int leftOffset = (screenResolution.x - width) / 2;
          int topOffset = (screenResolution.y - height) / 2;
    ... ...
}

findDesiredDimensionInRange

private static int findDesiredDimensionInRange(int resolution, int hardMin, int hardMax) {
    int dim = 5 * resolution / 8; // Target 5/8 of each dimension
    if (dim < hardMin) {
      return hardMin;
    }
    if (dim > hardMax) {
      return hardMax;
    }
    return dim;
  }

还有几个常量

  private static final int MIN_FRAME_WIDTH = 240;
  private static final int MIN_FRAME_HEIGHT = 240;
  private static final int MAX_FRAME_WIDTH = 1200; // = 5/8 * 1920
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值