使用createBitmap方法对QR进行编码作为位图进行填充

时间:2018-04-16 07:04:16

标签: android bitmap qr-code

我想在没有填充的情况下将位图显示到ImageView,但我认为createBitmap方法添加了填充。这是代码:

 <android.support.v7.widget.AppCompatImageView
        android:id="@+id/image_view"
        android:layout_width="15mm"
        android:layout_height="15mm"
        android:scaleType="fitCenter"
        android:layout_gravity="center"  />


result = new QRCodeWriter().encode(str, BarcodeFormat.QR_CODE, width, width, null);
            int w = result.getWidth();
            int h = result.getHeight();
            int[] pixels = new int[w * h];
            for (int y = 0; y < h; y++) {
                int offset = y * w;
                for (int x = 0; x < w; x++) {
                    pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
                }
            }


      Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
      bitmap.setPixels(pixels, 0, w, 0, 0, w, h);

位图不适合imageview。

1 个答案:

答案 0 :(得分:0)

请使用scaleType =&#34; fitXY&#34;

<android.support.v7.widget.AppCompatImageView
            android:id="@+id/image_view"
            android:layout_width="15mm"
            android:layout_height="15mm"
            android:scaleType="fitXY"
            android:layout_gravity="center"  />

生成QrCode:https://github.com/kenglxn/QRGen

dependencies {
        compile 'com.github.kenglxn.QRGen:android:2.4.0'
    }

示例代码:Bitmap myBitmap = QRCode.from(mCustomer_data.getCustomer_code()).bitmap();