最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 生成二維碼的工具資料整理

 更新時間:2016年08月07日 10:35:04   作者:人生設計師  
本文主要介紹Java 生成二維碼的幾種方法,這里給大家詳細介紹了java生成二維碼的三種工具,并附有示例代碼供大家參考,開發(fā)java 二維碼的朋友可以參考下

1.  使用SwetakeQRCode在Java項目中生成二維碼

http://swetake.com/qr/ 下載地址

或著  http://sourceforge.jp/projects/qrcode/downloads/28391/qrcode.zip 這個是日本人寫的,生成的是我們常見的方形的二維碼

可以用中文

如:5677777ghjjjjj 

有朋友問我要這個圖片生成的代碼,我就在網上搜索然后整理了一個類,首先要把SwetakeQRCode的jar包qrcode.jar放在工程的編譯路徑下,這個包的下載地址就是上面給出的SwetakeQRCode的官http://www.swetake.com/qrcode/java/qr_java.html ,下面是一個測試的類

import com.swetake.util.Qrcode;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
 * Created with IntelliJ IDEA.
 * Date: 10/9/13
 * Time: 11:31 AM
 */
public class QRCodeTest {


 private static int DEFAULT_WIDTH;
 private static int UNIT_WIDTH = 10;

 public static void main(String args[]) throws Exception{
 createImg();

 }

 public static void createImg(){
 Qrcode qrcode=new Qrcode();
 //錯誤修正容量 
 //L水平 7%的字碼可被修正
 //M水平 15%的字碼可被修正
 //Q水平 25%的字碼可被修正
 //H水平 30%的字碼可被修正
 //QR碼有容錯能力,QR碼圖形如果有破損,仍然可以被機器讀取內容,最高可以到7%~30%面積破損仍可被讀取。
 //相對而言,容錯率愈高,QR碼圖形面積愈大。所以一般折衷使用15%容錯能力。
 qrcode.setQrcodeErrorCorrect('M');/* L','M','Q','H' */
 qrcode.setQrcodeEncodeMode('B');/* "N","A" or other */
 qrcode.setQrcodeVersion(3);/* 0-20 */

 String testString = "5677777ghjjjjj";

 byte[] buff = null;
 try {
 buff = testString.getBytes("utf-8");
 } catch (UnsupportedEncodingException e) {
 e.printStackTrace();
 }
 boolean[][] bRect = qrcode.calQrcode(buff);
 DEFAULT_WIDTH = bRect.length * UNIT_WIDTH;

 BufferedImage bi = new BufferedImage(DEFAULT_WIDTH, DEFAULT_WIDTH, BufferedImage.TYPE_INT_RGB);
// int unitWidth = DEFAULT_WIDTH / bRect.length;

// createGraphics
 Graphics2D g = bi.createGraphics();

// set background
 g.setBackground(Color.WHITE);
 g.clearRect(0, 0, DEFAULT_WIDTH, DEFAULT_WIDTH);
 g.setColor(Color.BLACK);

 if (buff.length>0 && buff.length <123){

 for (int i=0;i<bRect.length;i++){

 for (int j=0;j<bRect.length;j++){
 if (bRect[j][i]) {
 g.fillRect(j*UNIT_WIDTH, i*UNIT_WIDTH, UNIT_WIDTH-1, UNIT_WIDTH-1);
 }
 }

 }
 }

 g.dispose();
 bi.flush();

 String FilePath="QRCode.png";
 File f = new File(FilePath);

 try {
 ImageIO.write(bi, "png", f);
 } catch (IOException e) {
 e.printStackTrace();
 }
 System.out.println("Create QRCode finished!");
 }
}

對于代碼進行一下說明,其它的就不說了,主要說一下如何使QRcode充滿整個畫面,我這里就是先定義UNIT_WIDTH=10或著其它的值,然后再算出畫面應該為多大,之后畫出的就會充滿整個畫面,不過,這樣好看是好看,我們就能控制畫面的大小了,所以也可以先定義DEFAULT_WIDTH也就是畫面的長寬,然后再算出UNIT_WIDTH,這樣畫面的大小就是固定的了,不過,這樣算出的單位DEFAULT_WIDTH / bRect.length不一定整好整除,所以畫面看起來會不太爽,這些都不是大問題,調一調就可以了。bRect.length這個的大小是由qrcode.setQrcodeVersion(3)這里面的值決定,不是由字符串的長度決定。

還有下面的zxing也可以生成這樣的qrcode的。

2. 使用BarCode4j生成條形碼和二維碼

BarCode4j網址:http://sourceforge.net/projects/barcode4j/

barcode4j是使用datamatrix的二維碼生成算法,為支持qr的算法 。

datamatrix是歐美的標準,qr為日本的標準。

barcode4j一般生成出來是長方形的 。

如:88777alec000yan

這篇文章寫的很清楚,可以參考下

http://www.fzitv.net/article/90048.htm

3.zxing

zxing 這個是google的 ,下載地址

http://code.google.com/p/zxing/downloads/list

import java.io.File;
import java.util.Hashtable;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;



public class QRCodeEvents {
 
 public static void main(String []args)throws Exception{
 String text = "你好";
 int width = 100;
 int height = 100;
 String format = "png";
 Hashtable hints= new Hashtable();
 hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
 BitMatrix bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height,hints);
 File outputFile = new File("new.png");
 MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
 
 }
}

以上就是對Java 生成二維碼的工具的資料整理,后續(xù)繼續(xù)補充相關資料,謝謝大家對本站的支持!

相關文章

  • 你真的知道Java中對象的銷毀嗎

    你真的知道Java中對象的銷毀嗎

    java自帶垃圾回收機制,會自動識別內存中不再會被使用的對象并將其銷毀,釋放內存,下面這篇文章主要介紹了Java中對象銷毀的相關資料,需要的朋友可以參考下
    2021-10-10
  • spring boot中各個版本的redis配置問題詳析

    spring boot中各個版本的redis配置問題詳析

    這篇文章主要給大家介紹了關于spring boot中各個版本的redis配置問題的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-12-12
  • 零基礎學Java:Java開發(fā)工具 Eclipse 安裝過程創(chuàng)建第一個Java項目及Eclipse的一些基礎使用技巧

    零基礎學Java:Java開發(fā)工具 Eclipse 安裝過程創(chuàng)建第一個Java項目及Eclipse的一些基礎使用技巧

    這篇文章主要介紹了零基礎學Java:Java開發(fā)工具 Eclipse 安裝過程創(chuàng)建第一個Java項目及Eclipse的一些基礎使用技巧,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 解決一個JSON反序列化問題的辦法(空字符串變?yōu)榭占?

    解決一個JSON反序列化問題的辦法(空字符串變?yōu)榭占?

    在平時的業(yè)務開發(fā)中,經常會有拿到一串序列化后的字符串要來反序列化,下面這篇文章主要給大家介紹了如何解決一個JSON反序列化問題的相關資料,空字符串變?yōu)榭占?需要的朋友可以參考下
    2024-03-03
  • Spring標準的xml文件頭實例分析

    Spring標準的xml文件頭實例分析

    這篇文章主要介紹了Spring標準的xml文件頭實例分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • 解析Neatbeans(常見錯誤) build-impl.xml:305: Compile failed

    解析Neatbeans(常見錯誤) build-impl.xml:305: Compile failed

    本篇文章是對Neatbeans(常見錯誤) build-impl.xml:305: Compile failed的解決方法進行了詳細的分析介紹,需要的朋友參考下
    2013-07-07
  • Java 反射調用靜態(tài)方法的簡單實例

    Java 反射調用靜態(tài)方法的簡單實例

    下面小編就為大家?guī)硪黄狫ava 反射調用靜態(tài)方法的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • Java實現(xiàn)常用緩存淘汰算法:FIFO、LRU、LFU

    Java實現(xiàn)常用緩存淘汰算法:FIFO、LRU、LFU

    在高并發(fā)、高性能的質量要求不斷提高時,我們首先會想到的就是利用緩存予以應對。而常用的幾個緩存淘汰算法有:FIFO、LRU和LFU,本文將為大家詳細介紹一下這三個算法并用java實現(xiàn),感興趣的可以跟隨小編一起學習一下
    2021-12-12
  • java生成mvt切片的方法實現(xiàn)

    java生成mvt切片的方法實現(xiàn)

    本文主要介紹了java生成mvt切片的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Java操作另一個Java程序使其重啟的簡單實現(xiàn)

    Java操作另一個Java程序使其重啟的簡單實現(xiàn)

    下面小編就為大家?guī)硪黄狫ava操作另一個Java程序使其重啟的簡單實現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論

二连浩特市| 万荣县| 临澧县| 克什克腾旗| 鹤峰县| 剑阁县| 南漳县| 门头沟区| 射阳县| 宜川县| 宜川县| 衢州市| 尼木县| 莲花县| 惠来县| 鄂伦春自治旗| 大田县| 德保县| 平武县| 巴青县| 吴旗县| 思茅市| 鹤岗市| 奈曼旗| 定州市| 永昌县| 潞西市| 横峰县| 兰西县| 庄浪县| 车险| 南郑县| 闽侯县| 阿荣旗| 从江县| 仙居县| 资阳市| 宁晋县| 郯城县| 河曲县| 德江县|