當前位置: 首頁>>代碼示例>>Java>>正文


Java BitMatrix.getWidth方法代碼示例

本文整理匯總了Java中com.google.zxing.common.BitMatrix.getWidth方法的典型用法代碼示例。如果您正苦於以下問題:Java BitMatrix.getWidth方法的具體用法?Java BitMatrix.getWidth怎麽用?Java BitMatrix.getWidth使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.google.zxing.common.BitMatrix的用法示例。


在下文中一共展示了BitMatrix.getWidth方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: createQRCode

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
public static Bitmap createQRCode(String str,int widthAndHeight) throws WriterException {
	Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();  
       hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); 
	BitMatrix matrix = new MultiFormatWriter().encode(str,
			BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);
	int width = matrix.getWidth();
	int height = matrix.getHeight();
	int[] pixels = new int[width * height];
	
	for (int y = 0; y < height; y++) {
		for (int x = 0; x < width; x++) {
			if (matrix.get(x, y)) {
				pixels[y * width + x] = BLACK;
			}
		}
	}
	Bitmap bitmap = Bitmap.createBitmap(width, height,
			Bitmap.Config.ARGB_8888);
	bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
	return bitmap;
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:22,代碼來源:EncodingHandler.java

示例2: createImage

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static BufferedImage createImage(String content, String imgPath,
        boolean needCompress) throws Exception {
    Hashtable hints = new Hashtable();
    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
    hints.put(EncodeHintType.MARGIN, 1);
    BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
            BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
    int width = bitMatrix.getWidth();
    int height = bitMatrix.getHeight();
    BufferedImage image = new BufferedImage(width, height,
            BufferedImage.TYPE_INT_RGB);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
                    : 0xFFFFFFFF);
        }
    }
    if (imgPath == null || "".equals(imgPath)) {
        return image;
    }
 // 插入圖片
    CodeUtil.insertImage(image, imgPath, needCompress);
    return image;
}
 
開發者ID:Fetax,項目名稱:Fetax-AI,代碼行數:26,代碼來源:CodeUtil.java

示例3: Create2DCode

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
/**
 * 傳入字符串生成二維碼
 *
 * @param str
 * @return
 * @throws WriterException
 */
public static Bitmap Create2DCode(String str) throws WriterException {
    // 生成二維矩陣,編碼時指定大小,不要生成了圖片以後再進行縮放,這樣會模糊導致識別失敗
    BitMatrix matrix = new MultiFormatWriter().encode(str,
            BarcodeFormat.QR_CODE, 300, 300);
    int width = matrix.getWidth();
    int height = matrix.getHeight();
    // 二維矩陣轉為一維像素數組,也就是一直橫著排了
    int[] pixels = new int[width * height];
    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++) {
            if (matrix.get(x, y)) {
                pixels[y * width + x] = 0xff000000;
            }

        }
    }

    Bitmap bitmap = Bitmap.createBitmap(width, height,
            Bitmap.Config.ARGB_8888);
    // 通過像素數組生成bitmap,具體參考api
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
開發者ID:hsj-xiaokang,項目名稱:OSchina_resources_android,代碼行數:31,代碼來源:QrCodeUtils.java

示例4: encodeAsBitmap

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
public Bitmap encodeAsBitmap() throws WriterException {
    if (!encoded) return null;

    Map<EncodeHintType, Object> hints = null;
    String encoding = guessAppropriateEncoding(contents);
    hints = new EnumMap<EncodeHintType, Object>(EncodeHintType.class);
    if (encoding != null) {
        
        hints.put(EncodeHintType.CHARACTER_SET, encoding);
    }
    hints.put(EncodeHintType.MARGIN, 2); /* default = 4 */  
    
    
    MultiFormatWriter writer = new MultiFormatWriter();
    BitMatrix result = writer.encode(contents, format, dimension, dimension, hints);
    int width = result.getWidth();
    int height = result.getHeight();
    int[] pixels = new int[width * height];
    // All are 0, or black, by default
    for (int y = 0; y < height; y++) {
        int offset = y * width;
        for (int x = 0; x < width; x++) {
            pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
        }
    }

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
開發者ID:PhilippC,項目名稱:keepass2android,代碼行數:31,代碼來源:QRCodeEncoder.java

示例5: encodeAsBitmap

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
public Bitmap encodeAsBitmap() throws WriterException {
    if (!encoded) return null;

    Map<EncodeHintType, Object> hints = null;
    String encoding = guessAppropriateEncoding(contents);
    if (encoding != null) {
        hints = new EnumMap<>(EncodeHintType.class);
        hints.put(EncodeHintType.CHARACTER_SET, encoding);
    }
    MultiFormatWriter writer = new MultiFormatWriter();
    BitMatrix result = writer.encode(contents, format, dimension, dimension, hints);
    int width = result.getWidth();
    int height = result.getHeight();
    int[] pixels = new int[width * height];
    // All are 0, or black, by default
    for (int y = 0; y < height; y++) {
        int offset = y * width;
        for (int x = 0; x < width; x++) {
            pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
        }
    }

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
開發者ID:uhuru-mobile,項目名稱:mobile-store,代碼行數:27,代碼來源:QRCodeEncoder.java

示例6: toAscii

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
public static String toAscii(BitMatrix bitMatrix) {
	StringBuilder sb = new StringBuilder();
	for (int rows = 0; rows < bitMatrix.getHeight(); rows++) {
		for (int cols = 0; cols < bitMatrix.getWidth(); cols++) {
			boolean x = bitMatrix.get(rows, cols);
			if (!x) {
				// white
				sb.append("\033[47m  \033[0m");
			} else {
				sb.append("\033[40m  \033[0m");
			}
		}
		sb.append("\n");
	}
	return sb.toString();
}
 
開發者ID:zhangshanhai,項目名稱:java-qrcode-terminal,代碼行數:17,代碼來源:QRterminal.java

示例7: createImage

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static BufferedImage createImage(String content, String imgPath,
        boolean needCompress) throws Exception {
    Hashtable hints = new Hashtable();
    hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
    hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
    hints.put(EncodeHintType.MARGIN, 1);
    BitMatrix bitMatrix = new MultiFormatWriter().encode(content,
            BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
    int width = bitMatrix.getWidth();
    int height = bitMatrix.getHeight();
    BufferedImage image = new BufferedImage(width, height,
            BufferedImage.TYPE_INT_RGB);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000
                    : 0xFFFFFFFF);
        }
    }
    if (imgPath == null || "".equals(imgPath)) {
        return image;
    }
    // 插入圖片
    QRCodeUtil.insertImage(image, imgPath, needCompress);
    return image;
}
 
開發者ID:HuiJa,項目名稱:bicycleSharingServer,代碼行數:26,代碼來源:QRCodeUtil.java

示例8: moduleSize

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static float moduleSize(int[] leftTopBlack, BitMatrix image) throws NotFoundException {
  int height = image.getHeight();
  int width = image.getWidth();
  int x = leftTopBlack[0];
  int y = leftTopBlack[1];
  boolean inBlack = true;
  int transitions = 0;
  while (x < width && y < height) {
    if (inBlack != image.get(x, y)) {
      if (++transitions == 5) {
        break;
      }
      inBlack = !inBlack;
    }
    x++;
    y++;
  }
  if (x == width || y == height) {
    throw NotFoundException.getNotFoundInstance();
  }
  return (x - leftTopBlack[0]) / 7.0f;
}
 
開發者ID:amap-demo,項目名稱:weex-3d-map,代碼行數:23,代碼來源:QRCodeReader.java

示例9: moduleSize

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static float moduleSize(int[] leftTopBlack, BitMatrix image) throws NotFoundException {
    int height = image.getHeight();
    int width = image.getWidth();
    int x = leftTopBlack[0];
    int y = leftTopBlack[1];
    boolean inBlack = true;
    int transitions = 0;
    while (x < width && y < height) {
        if (inBlack != image.get(x, y)) {
            transitions++;
            if (transitions == 5) {
                break;
            } else if (inBlack) {
                inBlack = false;
            } else {
                inBlack = true;
            }
        }
        x++;
        y++;
    }
    if (x != width && y != height) {
        return ((float) (x - leftTopBlack[0])) / 7.0f;
    }
    throw NotFoundException.getNotFoundInstance();
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:27,代碼來源:QRCodeReader.java

示例10: createQRCode

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
public static Bitmap createQRCode(String str, int widthAndHeight) throws WriterException {
    Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
    hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
    BitMatrix matrix = new MultiFormatWriter().encode(str,
            BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);
    int width = matrix.getWidth();
    int height = matrix.getHeight();
    int[] pixels = new int[width * height];

    for (int y = 0; y < height; y++) {
        for (int x = 0; x < width; x++) {
            if (matrix.get(x, y)) {
                pixels[y * width + x] = BLACK;
            }
        }
    }
    Bitmap bitmap = Bitmap.createBitmap(width, height,
            Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
開發者ID:guxiaonian,項目名稱:MeiLa_GNN,代碼行數:22,代碼來源:EncodingHandler.java

示例11: generateQRCode

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
/**
 *
 * @param amount
 */
public void generateQRCode(String amount) {

    String coinName = getBaseActivity().getLastSyncedMessage().getCoinName();

    String uriStr = coinName + ":" + _addr;
    if (amount != null && !amount.isEmpty()) {
        uriStr += "?amount="+amount;
    }

    try {
        QRCodeWriter writer = new QRCodeWriter();

        BitMatrix bitMatrix = writer.encode(uriStr, BarcodeFormat.QR_CODE, 512, 512);
        int width = bitMatrix.getWidth();
        int height = bitMatrix.getHeight();
        Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
        for (int x = 0; x < width; x++) {
            for (int y = 0; y < height; y++) {
                bmp.setPixel(x, y, bitMatrix.get(x, y) ? Color.BLACK : Color.WHITE);
            }
        }

        _receiveFragmentView.getQrImg().setImageBitmap(bmp);
    } catch (WriterException e) {
        e.printStackTrace();
    }
}
 
開發者ID:ehanoc,項目名稱:xwallet,代碼行數:32,代碼來源:ReceiveFragment.java

示例12: encodeAsBitmap

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
Bitmap encodeAsBitmap() throws WriterException {
  String contentsToEncode = contents;
  if (contentsToEncode == null) {
    return null;
  }
  Map<EncodeHintType,Object> hints = null;
  String encoding = guessAppropriateEncoding(contentsToEncode);
  if (encoding != null) {
    hints = new EnumMap<>(EncodeHintType.class);
    hints.put(EncodeHintType.CHARACTER_SET, encoding);
  }
  BitMatrix result;
  try {
    result = new MultiFormatWriter().encode(contentsToEncode, format, dimension, dimension, hints);
  } catch (IllegalArgumentException iae) {
    // Unsupported format
    return null;
  }
  int width = result.getWidth();
  int height = result.getHeight();
  int[] pixels = new int[width * height];
  for (int y = 0; y < height; y++) {
    int offset = y * width;
    for (int x = 0; x < width; x++) {
      pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
    }
  }

  Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
  bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
  return bitmap;
}
 
開發者ID:amap-demo,項目名稱:weex-3d-map,代碼行數:33,代碼來源:QRCodeEncoder.java

示例13: WhiteRectangleDetector

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
/**
 * @param image barcode image to find a rectangle in
 * @param initSize initial size of search area around center
 * @param x x position of search center
 * @param y y position of search center
 * @throws NotFoundException if image is too small to accommodate {@code initSize}
 */
public WhiteRectangleDetector(BitMatrix image, int initSize, int x, int y) throws NotFoundException {
  this.image = image;
  height = image.getHeight();
  width = image.getWidth();
  int halfsize = initSize / 2;
  leftInit = x - halfsize;
  rightInit = x + halfsize;
  upInit = y - halfsize;
  downInit = y + halfsize;
  if (upInit < 0 || leftInit < 0 || downInit >= height || rightInit >= width) {
    throw NotFoundException.getNotFoundInstance();
  }
}
 
開發者ID:simplezhli,項目名稱:Tesseract-OCR-Scanner,代碼行數:21,代碼來源:WhiteRectangleDetector.java

示例14: createQRImage

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static void createQRImage(File qrFile, String qrCodeText, int size,
        String fileType) throws WriterException, IOException {
    // Create the ByteMatrix for the QR-Code that encodes the given String
    Hashtable hintMap = new Hashtable();
    hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
    QRCodeWriter qrCodeWriter = new QRCodeWriter();
    BitMatrix byteMatrix = qrCodeWriter.encode(qrCodeText,
            BarcodeFormat.QR_CODE, size, size, hintMap);
    // Make the BufferedImage that are to hold the QRCode
    int matrixWidth = byteMatrix.getWidth();
    BufferedImage image = new BufferedImage(matrixWidth, matrixWidth,
            BufferedImage.TYPE_INT_RGB);
    image.createGraphics();

    Graphics2D graphics = (Graphics2D) image.getGraphics();
    graphics.setColor(Color.WHITE);
    graphics.fillRect(0, 0, matrixWidth, matrixWidth);
    // Paint and save the image using the ByteMatrix
    graphics.setColor(Color.BLACK);

    for (int i = 0; i < matrixWidth; i++) {
        for (int j = 0; j < matrixWidth; j++) {
            if (byteMatrix.get(i, j)) {
                graphics.fillRect(i, j, 1, 1);
            }
        }
    }
    ImageIO.write(image, fileType, qrFile);
}
 
開發者ID:Labas-Vakaras,項目名稱:Smart_City,代碼行數:30,代碼來源:QRGenerator.java

示例15: renderResult

import com.google.zxing.common.BitMatrix; //導入方法依賴的package包/類
private static BitMatrix renderResult(AztecCode code, int width, int height) {
    BitMatrix input = code.getMatrix();
    if (input == null) {
        throw new IllegalStateException();
    }
    int inputWidth = input.getWidth();
    int inputHeight = input.getHeight();
    int outputWidth = Math.max(width, inputWidth);
    int outputHeight = Math.max(height, inputHeight);
    int multiple = Math.min(outputWidth / inputWidth, outputHeight / inputHeight);
    int leftPadding = (outputWidth - (inputWidth * multiple)) / 2;
    int topPadding = (outputHeight - (inputHeight * multiple)) / 2;
    BitMatrix output = new BitMatrix(outputWidth, outputHeight);
    int inputY = 0;
    int outputY = topPadding;
    while (inputY < inputHeight) {
        int inputX = 0;
        int outputX = leftPadding;
        while (inputX < inputWidth) {
            if (input.get(inputX, inputY)) {
                output.setRegion(outputX, outputY, multiple, multiple);
            }
            inputX++;
            outputX += multiple;
        }
        inputY++;
        outputY += multiple;
    }
    return output;
}
 
開發者ID:JackChan1999,項目名稱:boohee_v5.6,代碼行數:31,代碼來源:AztecWriter.java


注:本文中的com.google.zxing.common.BitMatrix.getWidth方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。