Java生成图片二维码
代码:
package ccu.edu.com;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.util.Hashtable;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
public class QRCodeImage1{
private static final long serialVersionUID = 1L;
private Image image;
public QRCodeImage1(String text,int QrCodeSize){
try{
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
hints.put(EncodeHintType.MARGIN, 0);
BitMatrix matrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, QrCodeSize, QrCodeSize,hints);
int width = matrix.getWidth();
int height = matrix.getHeight();
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
for(int x = 0;x < width; x++){
for(int y = 0;y < height; y++){
bufferedImage.setRGB(x, y, matrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
}
}
this.image = bufferedImage.getScaledInstance(QrCodeSize, QrCodeSize, Image.SCALE_DEFAULT);
}catch(Exception e){
System.out.println("初始化失败"+e.getMessage());
e.printStackTrace();
}
}
public Image getImage() {
return this.image;
}
}
引用:
Image init = new QRCodeImage1(qrText, 80).getImage();