国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

google zxing作為二維碼生成工具

2019-11-08 19:41:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import javax.imageio.ImageIO;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import java.util.Hashtable;import java.util.Map;public class ZxingUtils {    PRivate static Log log = LogFactory.getLog(ZxingUtils.class);    private static final int BLACK = 0xFF000000;    private static final int WHITE = 0xFFFFFFFF;    private static BufferedImage toBufferedImage(BitMatrix matrix) {        int width = matrix.getWidth();        int height = matrix.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, matrix.get(x, y) ? BLACK : WHITE);            }        }        return image;    }    private static void writeToFile(BitMatrix matrix, String format, File file) throws IOException {        BufferedImage image = toBufferedImage(matrix);        if (!ImageIO.write(image, format, file)) {            throw new IOException("Could not write an image of format " + format + " to " + file);        }    }    /** 將內(nèi)容contents生成長(zhǎng)寬均為width的圖片,圖片路徑由imgPath指定     */    public static File getQRCodeImge(String contents, int width, String imgPath) {        return getQRCodeImge(contents, width, width, imgPath);    }    /** 將內(nèi)容contents生成長(zhǎng)為width,寬為width的圖片,圖片路徑由imgPath指定     */    public static File getQRCodeImge(String contents, int width, int height, String imgPath) {        try {            Map<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);            hints.put(EncodeHintType.CHARACTER_SET, "UTF8");            BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height, hints);            File imageFile = new File(imgPath);            writeToFile(bitMatrix, "png", imageFile);            return imageFile;        } catch (Exception e) {            log.error("create QR code error!", e);            return null;        }    }}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德州市| 佛冈县| 彰化市| 广河县| 额尔古纳市| 柳林县| 江西省| 铅山县| 南江县| 屯留县| 台北市| 保山市| 勐海县| 固始县| 南雄市| 东丽区| 闻喜县| 平邑县| 长阳| 竹山县| 项城市| 岑巩县| 敖汉旗| 庆云县| 沾化县| 芦溪县| 涟水县| 张家口市| 洛阳市| 秦皇岛市| 榆社县| 大足县| 新营市| 日照市| 嘉定区| 池州市| 莱西市| 南昌市| 喀喇沁旗| 三门峡市| 新竹县|