我想在没有填充的情况下将位图显示到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。
答案 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();