日期:2014-05-19  浏览次数:20772 次

图片转化为二维码存入数据库之后,能取出来再转化为图片显示么?
之前从网上找的代码,将图片转化为二维码保存到数据库中(数据库中的值:[B@156d401)
请问能不能写程序将二维码转化为图片呢?如果可以最好贴出代码鉴赏

------解决方案--------------------
Java code
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">
这时把就把图片保存在对应目录
------解决方案--------------------
最好把二维码的值存到数据库中,而不是把一张图片存到数据库中去。