日期:2014-05-19 浏览次数:20792 次
package com.google.zxing; import java.io.File; import java.io.IOException; import java.util.Hashtable; import com.google.zxing.common.BitMatrix; import com.google.zxing.common.HybridBinarizer; /** * @author hwy * */ public class TestEnDeCode { /** * */ public TestEnDeCode() { // TODO Auto-generated constructor stub } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub } //编码 public void encode(){ try { String str = "CN:男;COP:公司;ZW:职务";// 二维码内容 String path = "D://hwy.png"; Hashtable hints= new Hashtable(); hints.put(EncodeHintType.CHARACTER_SET, "GBK"); BitMatrix byteMatrix; byteMatrix= new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, 200, 200); File file = new File(path); // writeToFile(byteMatrix, "png", file); } catch (Exception e) { e.printStackTrace(); } } //解码 public void decode(){ try{ Reader reader = new MultiFormatReader(); String imgPath = "D://hwy.png"; File file = new File(imgPath); BufferedImage image; try { image = ImageIO.read(file); if (image == null) { System.out.println("Could not decode image"); } LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result result; Hashtable hints= new Hashtable(); hints.put(DecodeHintType.CHARACTER_SET, "GBK"); result = new MultiFormatReader().decode(bitmap,hints); String resultStr = result.getText(); System.out.println(resultStr); } catch (IOException ioe) { System.out.println(ioe.toString()); } catch (ReaderException re) { System.out.println(re.toString()); } }catch(Exception ex){ } } }
------解决方案--------------------
页面上要有个显示图片控件,比如
<img src="d:/pic.jpg">
这时把就把图片保存在对应目录
------解决方案--------------------
最好把二维码的值存到数据库中,而不是把一张图片存到数据库中去。