您的位置:首页 > 编程语言 > Java开发

Java生成二维码,基于QRCode

2013-04-25 14:22 447 查看
packagetest;

importjava.io.*;

importjava.util.Date;

importjava.awt.*;

importjava.awt.image.*;

importjavax.imageio.*;

importcom.swetake.util.Qrcode;

publicclassQRCodeEncoderTest{

	publicQRCodeEncoderTest(){

	}

	publicstaticvoidcreate_image(Stringsms_info)throwsException{

		try{

			QrcodetestQrcode=newQrcode();

			testQrcode.setQrcodeErrorCorrect('M');

			testQrcode.setQrcodeEncodeMode('B');

			testQrcode.setQrcodeVersion(20);

			StringtestString=sms_info;

			byte[]d=testString.getBytes("gbk");

			System.out.println(d.length);

			BufferedImagebi=newBufferedImage(98,98,

			BufferedImage.TYPE_BYTE_BINARY);

			Graphics2Dg=bi.createGraphics();

			g.setBackground(Color.WHITE);

			g.clearRect(0,0,98,98);

			g.setColor(Color.BLACK);

			//限制最大字节数为120

			if(d.length>0&&d.length<300){

				boolean[][]s=testQrcode.calQrcode(d);

				for(inti=0;i<s.length;i++){

					for(intj=0;j<s.length;j++){

						if(s[j][i]){

							g.fillRect(j*2+3,i*2+3,2,2);

						}

					}

				}

			}

			g.dispose();

			bi.flush();

			Filef=newFile("D:\\"+sms_info+".jpg");

			if(!f.exists()){

				f.createNewFile();

			}

			//创建图片

			ImageIO.write(bi,"jpg",f);

		}//endtry

		catch(Exceptione){

			e.printStackTrace();

		}//endcatch

	}

	publicstaticvoidmain(String[]args)throwsException{

		System.out.println(newDate());

		QRCodeEncoderTest.create_image("QRCode");

		System.out.println(newDate());

	}

}


jar包:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: