InputString 转换成 BufferedImage 和 byte[]
获取网络的一张图片,但是某种需要,要把获取的这段流输入换为BufferedImage流,有的地方还需要转换为byte[].
获得图片地址,获得了一个图片输入流,例如:
Url img = new URL(url);
InputStream in =
img.openStream();
接着把输入流转为BufferedImage:
JPEGImageDecoder decoderFile =
JPEGCodec.createJPEGDecoder(in);
BufferedImage
image = decoderFile.decodeAsBufferedImage();
或者
BufferedImage bi =
ImageIO.read(in);
如果根据这个图片对象,重新draw了一个新的bufferedImage以后,怎么才能获得它的byte数组呢?
通过ImageIO对象进行操作:ImageIO.write(bufferedImage, "jpg",
bos);
这样就可以根据bos输出流获得byte数组了,减少了通过File进行一次io操作的必要。
这个也对缓存图片有一定的意义。
【转载地址:】http://happyin1111.blog.163.com/blog/static/164184801201131432038992/
- if (null != files && files.length > 0) {
- for (MultipartFile file : files) {
- //主图
- byte[] byteArray = new byte[0];
- byteArray = file.getBytes();
- //缩略图
- BufferedImage image = Thumbnails.of(file.getInputStream()).size(224, 300).asBufferedImage();
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- String fileName = file.getOriginalFilename();
- String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
- ImageIO.write(image, fileType, os);
- //base
- String content = Base64Utils.encodeToString(byteArray);
- String thumbnailContent = Base64Utils.encodeToString(os.toByteArray());
- threadPoolTaskExecutor.execute(new Runnable() {
- @Override
- public void run() {
- try {
- logger.info("执行线程任务开始前" + file.getOriginalFilename());
- clientUploadImage(file, content, thumbnailContent, user, batchId, batchNum);
- } catch (Exception e) {
- logger.error("图片识别失败", e);
- }
- }
- });
- }
- }
InputString 转换成 BufferedImage 和 byte[]的更多相关文章
- 获取网络图片并显示在picturbox上,byte[]数组转换成Image:
private void getWebPicture_Click(object sender, EventArgs e) { WebRequest request = WebRequest.Creat ...
- bufferedimage 转换成 inputstream并保存文件
BufferedImage img = removeBackgroud(file);//去除重影 //bufferedimage 转换成 inputstream ByteArrayOutputStre ...
- 将四个BYTE数值转换成IEEE754标准的浮点数(两种方法:用Addr函数取字节数字的首地址,或者用Absolute关键字)
在工作中,经常使用到IEEE754格式的数据.IEEE754格式的数据占四个字节,好像Motorola格式和Intel格式的还不一样. 由于工作中很少和他打交道(使用的软件内部已经处理),就没太在意. ...
- Map 转换成byte[] 数组
把Map转换成byte数组,使用 ByteArrayOutputStream和ObjectOutputStream Map<String,String> map = new HashMap ...
- C#字节图片互转、字节转换图片、图片转换字节、byte[]转换图片、图片转换成byte[]
原文地址:http://www.cnblogs.com/wifi/articles/3522773.html /// <summary> /// 图片转换成字节流 /// </sum ...
- 将文件转换成byte[]数组
代码 /// <summary> /// 将文件转换成byte[] 数组 /// </summary> /// <param name="fileUrl&quo ...
- PHP实现INT型,SHORT型,STRING转换成BYTE数组
实现PHP实现INT型,SHORT型,STRING转换成BYTE数组的转化: class Bytes { public static function integerToBytes($val) { $ ...
- 浅谈ByteBuffer转换成byte[]时遇到的问题
有些时候我们要把ByteBuffer转换成byte[]来使用.于是很多时候会用以下代码来转换: ByteBuffer buf; .....(一些往buffer写数据的操作) byte[] bs= ne ...
- 将文件File转换成byte数组
代码如下: /** * 将文件转换成byte数组 * @param filePath * @return */ public static byte[] File2byte(File tradeFil ...
随机推荐
- H5自定义属性data-*
data属性的设置和读取方式: 1.data-xxx 的格式,则采用正常格式来读写该属性值 <div id="test" data-name="小明"&g ...
- AJAX初识(原生JS版AJAX和Jquery版AJAX)
一.什么是JSON 1.介绍 JSON独立于语言,是一种与语言无关的数据格式. JSON指的是JavaScript对象表示法(JavaScript Object Notation) JSON是轻量级的 ...
- restfull规范、DRF视图和路由
一.restfull规范的简单介绍 1.介绍 REST:表述性状态转移,是一种web交互方案 资源:在web中只要有被引用的必要都是资源 URI: URI 统一资源标识符 URL 统一资源定位符 统一 ...
- yii2 redirect重定向
redirect使用方法 $this->redirect(array('/site/contact','id'=>12)); //http://www.kuitao8.com/testwe ...
- RQY大佬一晚报告总结
首先基础真的很重要.今天所有学的东西,都是为明天做铺垫,(这样看好像每天都是基础)基础牢了,学东西也就一看就会的感觉吧. 其次,自学能力很重要,投入很重要.大佬说他自己也不是看一遍书就懂的,而是反复看 ...
- os.listdir()、os.walk()和os.mkdir()的用法
内容主要参照博客https://blog.csdn.net/xxn_723911/article/details/78795033 http://www.runoob.com/python/os-wa ...
- Tomcat 服务器
1 相关概念 1 软件的架构 1 c/s 客服端/服务端 2 b/s 浏览器/服务器 2 资源的分类 1 静态资源 所有用户访问后 得到的资源是一样的 称为静态资源 html css js 静态资源可 ...
- Kubenetes 资源清单定义入门
Kubernetes 常用资源 资源 对象 工作负载型资源对象(workload): Pod Replicaset ReplicationController Deployments Stat ...
- Typora使用说明(记录总结)
目录 区域元素 YAML FONT Matters 菜单 段落 标题 引注 序列 可选序列 代码块 数学块 表格 脚注 水平线 特征元素 链接 超链接 内链接 相关链 URLs 图片 斜体 加粗 删除 ...
- Python面向对象进阶和socket网络编程-day08
写在前面 上课第八天,打卡: 为什么坚持?想一想当初: 一.面向对象进阶 - 1.反射补充 - 通过字符串去操作一个对象的属性,称之为反射: - 示例1: class Chinese: def __i ...