zxing ライブラリを使用してQRcodeを生成します。QR を生成すると正常に動作しますが、QR の左右に空白があります。この空白を削除する方法 (ビットマップの幅を高さにするため)
ここにQRを生成するための私のコードがあります
private static final int QR_SIZE = 480;
public static Bitmap generateQR(String content){
Bitmap returnBitmap= null;
try {
Hashtable<EncodeHintType, ErrorCorrectionLevel> hintMap = new Hashtable<EncodeHintType, ErrorCorrectionLevel>();
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix matrix = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, QR_SIZE, QR_SIZE, hintMap);
//int width = matrix.getWidth();
int width = matrix.getHeight();
int height = matrix.getHeight();
int[] pixels = new int[width*height];
for(int y=0; y<height; y++) {
for(int x=0; x<width; x++) {
int grey = matrix.get(x, y) ? 0x00 : 0xff;
pixels[y*width+x] = 0xff000000 | (0x00010101*grey);
}
}
returnBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
returnBitmap.setPixels(pixels, 0, width, 0, 0, width, height);
//returnBitmap.set
} catch (Exception e) {
Log.d(LOGTAG, e.toString());
}
return returnBitmap;
}