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


Java EncodeHintType類代碼示例

本文整理匯總了Java中com.google.zxing.EncodeHintType的典型用法代碼示例。如果您正苦於以下問題:Java EncodeHintType類的具體用法?Java EncodeHintType怎麽用?Java EncodeHintType使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


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

示例1: Create2DCode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**
 * 用字符串生成二維碼
 * 
 * @param str
 * @author J!nl!n
 * @return
 * @throws WriterException
 */
public Bitmap Create2DCode(String str) 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, 480, 480, hints);
	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:wp521,項目名稱:MyFire,代碼行數:31,代碼來源:ScanMainActivity.java

示例2: getQR

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**
 * Method to get the JavaFX Image QR code for easy input of address
 * @param width width of the image
 * @param height height of the image
 * @return Java FX Image
 * @throws IOException Either when there is an encoding error or java's reserved memory is overwritten.
 * @throws WriterException When ZXING encounters an error.
 */
public Image getQR(int width, int height) throws IOException, WriterException{
    String charset = "UTF-8";
    Map hintMap = new HashMap();
    hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);

    ByteArrayOutputStream stream = new ByteArrayOutputStream();
    BitMatrix matrix = new MultiFormatWriter().encode(new String(cryptoAddress.getBytes(charset), charset), BarcodeFormat.QR_CODE, width, height, hintMap);
    MatrixToImageWriter.writeToStream(matrix, "png", stream);
    stream.flush();

    byte[] data = stream.toByteArray();
    stream.close();

    return new Image(new ByteArrayInputStream(data));
}
 
開發者ID:Roxas240,項目名稱:CryptoPayAPI,代碼行數:24,代碼來源:CryptoClient.java

示例3: getQR

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
public static Bitmap getQR(final byte[] content, final int size) {
    final QRCodeWriter writer = new QRCodeWriter();
    try {
        final Map<EncodeHintType, Object> encodingHints = new HashMap<>();
        encodingHints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
        encodingHints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);

        final BitMatrix encoding = writer.encode(Utils.makeQR(content), BarcodeFormat.QR_CODE, size, size, encodingHints);
        final Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);

        for (int i = 0; i < size; i++) {
            for (int j = 0; j < size; j++) {
                bitmap.setPixel(i, j, encoding.get(i, j) ? COLOR_DARK : COLOR_LIGHT);
            }
        }

        return bitmap;
    } catch (WriterException e) {
        Log.e("QRUtils", "Failed to get QR code", e);
    }
    return null;
}
 
開發者ID:mDL-ILP,項目名稱:mDL-ILP,代碼行數:23,代碼來源:QRUtils.java

示例4: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的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

示例5: encode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**
 * Zxing圖形碼生成工具
 *
 * @param contents
 *            內容
 * @param barcodeFormat
 *            BarcodeFormat對象
 * @param format
 *            圖片格式,可選[png,jpg,bmp]
 * @param width
 *            寬
 * @param height
 *            高
 * @param margin
 *            邊框間距px
 * @param saveImgFilePath
 *            存儲圖片的完整位置,包含文件名
 * @return {boolean}
 */
public static boolean encode(String contents, BarcodeFormat barcodeFormat, Integer margin,
		ErrorCorrectionLevel errorLevel, String format, int width, int height, String saveImgFilePath) {
	Boolean bool = false;
	BufferedImage bufImg;
	Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
	// 指定糾錯等級
	hints.put(EncodeHintType.ERROR_CORRECTION, errorLevel);
	hints.put(EncodeHintType.MARGIN, margin);
	hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
	try {
		// contents = new String(contents.getBytes("UTF-8"), "ISO-8859-1");
		BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, barcodeFormat, width, height, hints);
		MatrixToImageConfig config = new MatrixToImageConfig(0xFF000001, 0xFFFFFFFF);
		bufImg = MatrixToImageWriter.toBufferedImage(bitMatrix, config);
		bool = writeToFile(bufImg, format, saveImgFilePath);
	} catch (Exception e) {
		e.printStackTrace();
	}
	return bool;
}
 
開發者ID:Javen205,項目名稱:IJPay,代碼行數:40,代碼來源:ZxingKit.java

示例6: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的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

示例7: createImage

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**
 * 創建二維碼
 *
 * @param size         二維碼尺寸
 * @param content      二維碼內容
 * @param logoPath     Logo地址
 * @param needCompress 是否壓縮
 * @return
 * @throws Exception
 */
private static BufferedImage createImage(int size, String content, String logoPath, boolean needCompress) throws Exception {
	Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
	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, size, 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 (logoPath == null || "".equals(logoPath)) {
		return image;
	}
	// 插入圖片
	QRCodeUtils.insertImage(size, image, logoPath, needCompress);
	return image;
}
 
開發者ID:funtl,項目名稱:framework,代碼行數:32,代碼來源:QRCodeUtils.java

示例8: encodeAsBitmap

import com.google.zxing.EncodeHintType; //導入依賴的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

示例9: encodeAsBitmap

import com.google.zxing.EncodeHintType; //導入依賴的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

示例10: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的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:kkyflying,項目名稱:CodeScaner,代碼行數:22,代碼來源:EncodingHandler.java

示例11: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
public static Bitmap createQRCode(String content, int widthAndHeight) {
    if (TextUtils.isEmpty(content)) return null;
    try {
        Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
        //Fault tolerance level. MAX
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        //Set the width of the blank margin.
        hints.put(EncodeHintType.MARGIN, 0);
        BitMatrix matrix = new MultiFormatWriter().encode(content, 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] = 0xff000000;
                }
            }
        }
        Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
        bitmap.setPixels(pixels, 0, width, 0, 0, width, height);

        return bitmap;
    } catch (WriterException e) {
        e.printStackTrace();
    }
    return null;
}
 
開發者ID:Jusenr,項目名稱:zxing_qrcode_demo,代碼行數:32,代碼來源:EncodingHandler.java

示例12: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**
 * 根據內容生成二維碼數據
 * @param content 二維碼文字內容[為了信息安全性,一般都要先進行數據加密]
 * @param width 二維碼照片寬度
 * @param height 二維碼照片高度
 * @return
 */
public static BitMatrix createQRCode(String content, int width, int height){
	Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();   
	//設置字符編碼
       hints.put(EncodeHintType.CHARACTER_SET, "utf-8");  
       // 指定糾錯等級
	hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
	hints.put(EncodeHintType.MARGIN, 1);
       BitMatrix matrix = null;  
       try {  
           matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints); 
       } catch (WriterException e) {  
           e.printStackTrace();  
       }
       
       return matrix;
}
 
開發者ID:onsoul,項目名稱:os,代碼行數:24,代碼來源:MatrixToImageWriterEx.java

示例13: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
private Bitmap createQRCode(String str, int widthAndHeight)
        throws WriterException {
    Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();
    hints.put(EncodeHintType.CHARACTER_SET, "utf-8");// 使用utf8編碼
    BitMatrix matrix = new MultiFormatWriter().encode(str,
            BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight, hints);// 這裏需要把hints傳進去,否則會出現中文亂碼
    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;
            } else {// 其他部分則使用白色
                pixels[y * width + x] = WHITE;
            }
        }
    }
    //生成bitmap
    Bitmap bitmap = Bitmap.createBitmap(width, height,
            Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}
 
開發者ID:lzmlsfe,項目名稱:19porn,代碼行數:27,代碼來源:InvitationActivity.java

示例14: createQRCode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
/**二維碼的生成*/
private void createQRCode(HttpServletResponse response){
	/**設置二維碼的參數*/
	Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>();
	// 內容所使用編碼
	hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
	// 留白區域大小
	hints.put(EncodeHintType.MARGIN, margin);
	try {
		BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE,width,height,hints);
		// 輸出二維碼
		MatrixToImageWriter.writeToStream(bitMatrix, format, response.getOutputStream());
	} catch (Exception e) {
		System.out.println("生成二維碼異常!"+e.toString());
	}
}
 
開發者ID:zhiqiang94,項目名稱:BasicsProject,代碼行數:17,代碼來源:ZxingServlet.java

示例15: createQrcode

import com.google.zxing.EncodeHintType; //導入依賴的package包/類
public static String createQrcode(String dir, String _text) {
	String qrcodeFilePath = "";
	try {
		int qrcodeWidth = 300;
		int qrcodeHeight = 300;
		String qrcodeFormat = "png";
		HashMap<EncodeHintType, String> hints = new HashMap<EncodeHintType, String>();
		hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
		BitMatrix bitMatrix = new MultiFormatWriter().encode(_text, BarcodeFormat.QR_CODE, qrcodeWidth,
				qrcodeHeight, hints);

		BufferedImage image = new BufferedImage(qrcodeWidth, qrcodeHeight, BufferedImage.TYPE_INT_RGB);
		File qrcodeFile = new File(dir + "/" + UUID.randomUUID().toString() + "." + qrcodeFormat);
		ImageIO.write(image, qrcodeFormat, qrcodeFile);
		MatrixToImageWriter.writeToPath(bitMatrix, qrcodeFormat, qrcodeFile.toPath());
		qrcodeFilePath = qrcodeFile.getAbsolutePath();
	} catch (Exception e) {
		e.printStackTrace();
	}
	return qrcodeFilePath;
}
 
開發者ID:guokezheng,項目名稱:automat,代碼行數:22,代碼來源:QrcodeUtil.java


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