1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

时间:2023-11-25 05:19:14

相关推荐

基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

NextQRCode ZXing开源库的精简版

**基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

原文博客 附源码下载地址**

与原ZXingMini项目对比

NextQRCode做了重大架构修改,原ZXingMini项目与当前NextQRCode不兼容

dependencies {compile 'com.github.yoojia:next-qrcode:2.0-2'...}

生成二维码图案

// 二维码中间图标final Bitmap centerImage = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);// 生成的二维码图案Bitmap qrCodeImage = new QRCodeEncoder.Builder().width(size) // 二维码图案的宽度.height(size).paddingPx(0) // 二维码的内边距.marginPt(3) // 二维码的外边距.centerImage(centerImage) // 二维码中间图标.build().encode(content);

二维码解码

final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build();// 传入二维码图案Bitmap对象然后解码成文本内容String content = mDecoder.decode(bitmap);

使用 LiveCameraView 自动扫描解码

public class QRCodeScanActivity extends AppCompatActivity {public static final String TAG = QRCodeScanActivity.class.getSimpleName();private LiveCameraView mLiveCameraView;private ImageView mCaptureImage;private TextView mContentView;private final CaptureCallback mCaptureCallback = new CaptureCallback() {@Override public void onCaptured(Bitmap bitmap) {Log.i(TAG, "-> Got bitmap, show to capture view");mCaptureImage.setImageBitmap(bitmap);Observable.just(bitmap).map(new Func1<Bitmap, String>() {private final QRCodeDecoder mDecoder = new QRCodeDecoder.Builder().build();@Overridepublic String call(Bitmap bitmap) {return mDecoder.decode(bitmap);}}).subscribeOn(putation()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1<String>() {@Override public void call(String content) {mContentView.setText(content);}});}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Window window = getWindow();window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);setContentView(R.layout.activity_scan);mCaptureImage = (ImageView) findViewById(R.id.capture_image);mContentView = (TextView) findViewById(R.id.content);mLiveCameraView = (LiveCameraView) findViewById(R.id.capture_preview_view);mLiveCameraView.setPreviewReadyCallback(new CameraPreviewView.PreviewReadyCallback() {@Overridepublic void onStarted(Camera camera) {Log.i(TAG, "-> Camera started, start to auto capture");mLiveCameraView.startAutoCapture(1500, mCaptureCallback);}@Overridepublic void onStopped() {Log.i(TAG, "-> Camera stopped");mLiveCameraView.stopAutoCapture();}});}}

**基于ZXing Android实现生成二维码图片和相机扫描二维码图片即时解码的功能

原文博客 附源码下载地址**

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。