public class ImageToBase64 {

     //图片转化成base64字符串
public static String GetImageStr(String path,int width,int height) throws IOException
{//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
File srcFile = new File(path);//文件上服务器上面的地址
if (!srcFile.exists())
return "";
Image srcImg = ImageIO.read(srcFile);
// 生成指定大小图片
BufferedImage buffImg = null;
int oldWidth = srcImg.getWidth(null);
int oldHeight = srcImg.getHeight(null);
// 计算原图等比缩放长宽
if (oldWidth * height > width * oldHeight) {
oldHeight = width * oldHeight / oldWidth;
oldWidth = width;
} else {
oldWidth = height * oldWidth / oldHeight;
oldHeight = height;
}
// 生成新图
buffImg = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
// 填白
buffImg.getGraphics().fillRect(0, 0, width, height);
// 填入原图
buffImg.getGraphics().drawImage(srcImg.getScaledInstance(oldWidth, oldHeight, Image.SCALE_SMOOTH),
(width - oldWidth) / 2, (height - oldHeight) / 2, null); ByteArrayOutputStream bs = new ByteArrayOutputStream();
ImageOutputStream imOut = ImageIO.createImageOutputStream(bs);
ImageIO.write(buffImg, "jpg", imOut); InputStream in = new ByteArrayInputStream(bs.toByteArray());
byte[] data = null;
//读取图片字节数组
try
{
data = new byte[in.available()];
in.read(data);
in.close();
}
catch (IOException e)
{
return "";
}
// String fileName=srcFile.getName();
//String prefix="data:image/jpg"+fileName.substring(fileName.lastIndexOf(".")+1)+";base64,";
String prefix="data:image/jpg;base64,";
return prefix+Base64.encodeBase64String(data);//返回Base64编码过的字节数组字符串
}
}

将图片转换为Base64字符串公共类抽取的更多相关文章

  1. C# Base64字符串转换成图片及图片转换为Base64

    最近有朋友经常会问我一些问题,例如,如何把一个字符串转换成base64字符串,如何把一个二进制文件转换成Base64文件,以及如何转换回原有的文件,在此我把方法写一下   字符串与Base64相互转换 ...

  2. JAVA 将图片转换为Base64编码

    这里使用的jar包是commons-codec-1.10.jar; 示例代码 import java.io.FileInputStream; import java.io.FileOutputStre ...

  3. java 图片转base64字符串、base64字符串转图片

    java 图片转base64字符串.base64字符串转图片 1. 图片转base64字符串: /** * base64编码字符串转换为图片 * @param imgStr base64编码字符串 * ...

  4. 将图片转换为base64 格式

    1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL 例子:给定图片的url 将图片转换为base64 var imageSrc = "../images/ ...

  5. js 图片转换为base64

    <input id="file" type="file"> <img id="img" style="max-h ...

  6. C# 图片转换为base64

    WebRequest webRequest = WebRequest.Create("验证码url"); WebResponse webResponse = webRequest. ...

  7. 【PHP】图片转换为base64,经过post传输后‘+’会变成 ‘空格’

    图片转换为base64,经过post传输后‘+’会变成 ‘空格’, 需要用PHP 处理一下 $str= $_POST['img_data']; $str= str_replace(' ','+',$s ...

  8. 将图片转换为Base64编码的字符串

    图片以文件的形式存在,可以在表单中使用. 也可以转换成Base64编码的字符串,从而在css.js中以字符串的形式使用图片.例如,在css中设置背景图片.在js中用ajax上传图片. <!DOC ...

  9. 将文件转换为base64字符串,然后还原

    package com.um.banks.xinlian.utils; import java.io.File; import java.io.FileInputStream; import java ...

随机推荐

  1. ZOJ-2753

    Min Cut (Destroy Trade Net) Time Limit: 15 Seconds      Memory Limit: 32768 KB Given an undirected g ...

  2. python基础(1)---python简介

    一.python简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.目前Python已经成为实际上除了中国最流行的开发语 ...

  3. redis之(十三)redis的三种启动方式

    Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make ...

  4. C++中正确使用PRId64

    http://blog.csdn.net/win_lin/article/details/7912693

  5. 捕获浏览器的前进、后退事件 window.onhashchange 并区别于点击链接

    <html> <head> <meta http-equiv="content-type" content="text/html;chars ...

  6. Codeforces 1082 D. Maximum Diameter Graph-树的直径-最长链-构造题 (Educational Codeforces Round 55 (Rated for Div. 2))

    D. Maximum Diameter Graph time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  7. gradle打包分编译环境

    gradle打包分测试.开发.生产环境 buildTypes { debug { signingConfig signingConfigs.myConfig buildConfigField(&quo ...

  8. 215. Kth Largest Element in an Array【Medium】【找到第 k 大的元素】

    Find the kth largest element in an unsorted array. Note that it is the kth largest element in the so ...

  9. Linux操作命令(五)

    find . -name ”*.c" -exec ./command.sh {} \; 本次实验将介绍 Linux 命令中 find 和 xargs 命令的用法. find xargs 1. ...

  10. JS内存管理与垃圾回收

    内存分配 var n = 374; // 为数字分配内存 var s = 'sessionstack'; // 为字符串分配内存 var o = { a: 1, b: null }; // 为对象及其 ...