base64、图片生成

//测试类

public static void main(String[] args) {

    //图片转字符串

   String strImg = GetImageStr();  

   System.out.println(strImg);  

   //string转图片

   GenerateImage(strImg);  

}

// 图片转化成base64字符串

public static String GetImageStr() {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理

String imgFile = "E://1111.png";// 待处理的图片

InputStream in = null;

byte[] data = null;

// 读取图片字节数组

try {

in = new FileInputStream(imgFile);

data = new byte[in.available()];

in.read(data);

in.close();

} catch (IOException e) {

e.printStackTrace();

}

// 对字节数组Base64编码

String str=Base64Utils.encodeToString(data);

return str;// 返回Base64编码过的字节数组字符串

}

   //base64字符串转化成图片  

    public static boolean GenerateImage(String imgStr)  

    {   //对字节数组字符串进行Base64解码并生成图片  

        if (imgStr == null) //图像数据为空  

            return false;  

        try   

        {  

            //Base64解码  

            byte[] b = Base64Utils.decodeFromString(imgStr);  

            for(int i=0;i<b.length;++i)  

            {  

                if(b[i]<0)  

                {//调整异常数据  

                    b[i]+=256;  

                }  

            }  

            //生成jpeg图片  

            String imgFilePath = "e://2222.png";//新生成的图片  

            OutputStream out = new FileOutputStream(imgFilePath);      

            out.write(b);  

            out.flush();  

            out.close();  

            return true;  

        }   

        catch (Exception e)   

        {  

            return false;  

        }  

    }  

来之:网上资料,实践测试是可以的。

猜你喜欢

转载自yingyingsheji.iteye.com/blog/2378766