直播系统搭建,java二维码 生成二维码

直播系统搭建,java二维码 生成二维码

 

package BasicsTest;
import com.swetake.util.Qrcode;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
/** * 二维码生成 
* Created by xs on 2017/2/6. 
*/
public class QRCode {    
/**     
* @param args the command line arguments     
*/    
public static void main(String[] args) {        
        //图片地址和名称
        String imgPath = "./qrCodeTest.png";
        //二维码的内容
        String content = "\t珊丫头"                
                     + "\nCSDN      :sinat_22750705";        
        QRCode handler = new QRCode();        
        handler.encodeQRCode(content, imgPath);        
        System.out.println("encoder QRcode success");    
}    
/**     
* 生成二维码(QRCode)图片     
* @param content     
* @param imgPath     
*/    
public  void encodeQRCode(String content,String imgPath){        
   try{            
       //二维码实体            
       Qrcode qrcodeHandler=new Qrcode();            
       //二维码纠错            
       qrcodeHandler.setQrcodeErrorCorrect('M');            
       //二维码编码模式            
       qrcodeHandler.setQrcodeEncodeMode('B');            
       //二维码版本            
       qrcodeHandler.setQrcodeVersion(7);            
       System.out.println(content);            
      byte[] contentBytes = content.getBytes("utf-8");            
       //BufferedImage 提供创建和修改图像的各种类。140 长  140 宽            
       BufferedImage bufImg = new BufferedImage(140, 140,                    
       BufferedImage.TYPE_INT_RGB);            
       //返回一个呈现指定 BufferedImage 的 Graphics2D 对象。            
       Graphics2D gs = bufImg.createGraphics();            
       //背景颜色            
       gs.setBackground(Color.white);            
       // public abstract void clearRect(int x, int y, int width, int height);宽 高  
       //clearRect() 清除一个矩形区域            
       gs.clearRect(0, 0, 140, 140);            
       // 设定图像颜色 > BLACK            
       gs.setColor(Color.BLACK);            
       // 设置偏移量 不设置可能导致解析出错            
      int pixoff = 2;            
      // 输出内容 > 二维码            
     if (contentBytes.length > 0 && contentBytes.length < 120) {                
         boolean[][] codeOut = qrcodeHandler.calQrcode(contentBytes);                
         for (int i = 0; i < codeOut.length; i++) {                    
             for (int j = 0; j < codeOut.length; j++) {                        
                 if (codeOut[j][i]) {                            
                      //fillRect() 填充一个矩形区域                            
                   gs.fillRect(j * 3 + pixoff, i * 3 + pixoff, 3, 3);                        
                   }                    
               }                
          }            
      } else {                
             System.err.println("QRCode content bytes length = "                        
                       + contentBytes.length + " not in [ 0,120 ]. ");            
        }            
        //关闭窗体,并释放资源            
        gs.dispose();            
        bufImg.flush();            
        //创建文件            
        File imgFile = new File(imgPath);            
        // 生成二维码QRCode图片            
        ImageIO.write(bufImg, "png", imgFile);        
    }catch (Exception  e){            
         e.printStackTrace();        
     }    
   }
}

以上就是直播系统搭建,java二维码 生成二维码, 更多内容欢迎关注之后的文章 

 

posted @ 2023-05-08 14:19  云豹科技-苏凌霄  阅读(27)  评论(0)    收藏  举报