第一更 任务需要将图片byte[]转成一个原图1/4大小的缩略图,并以base64返回。
思路如下:

开始–>读取图片–>转byte[]–>复制byte[]得到一个新InputStream–>新InputStream转BufferdImage–>新BufferdImage设置长宽–>将新BufferdImage使用ImageIO.write输出到ByteArrayOutputStream–>ByteArrayOutputStream转byte[]–>进行base64编码–>完成

读取:
1.读取图片

2.转为byte[]

转化:
1.byte[]数组 转 buffereImage;

2.设置bufferdImage参数;

3.ImgeIO写bufferdImage到ByteArrayOutputStream;

4.将ByteArrayOutputStream转为byte[];

5.将byte[]数组进行加密返回。

//读取图片
byte[] content = null;
File file = new File("D:/a.pdf");
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream(1024);
byte[] b = new byte[1024];
int n;
while ((n = in.read(b)) != -1) {
    bos.write(b, 0, n);
in.close();
bos.close();
content = bos.toByteArray();
 图片byte[]数组:  content
 InputStream in = new ByteArrayInputSteam(content,0,content.length);//数组,起始位置,结束位置
 BufferdImage bImage = ImageIO.read(in);//将inputSteam读取成bufferdImage
 int height = bImage.getHeight()/4;//获取转化后的高度
 int width = bImage.getWidth()/4;//获取转化后的宽度
 //声明一个新的BufferdImage
 BufferedImage newBImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
 //设置newBImage的参数
 newBImage.getGraphics().drawImage(bImage, 0, 0, width, height, null);
 ByteArrayOutputStream out = new ByteArrayOutputStream();
 ImageIO.write(newBImage, "jpg", out);
 byte[] smallContent = out.toByteArray();
 //进行base64加密
 String data = Base64.encodeToString(smallContent);
 return data;
最近用 java 对word三大办公软件和视频进行 缩略图 展示,用到了spire这个插件,比较简单我直接展示下代码,主要就是那个jar包得自己打包,我自己使用pom没法直接导入(即使指定了网址),所以我这边只展示代码了。项目部署在linux上, 生成 缩略图 的时候部分字体就会显示不了,如下图。后来发现是linux缺少中文字体导致的,这里介绍下导入中文字体的方法。这个主要就是 生成 缩略图 的文件命名。4.video 缩略图 。 <!-- https://mvnrepository.com/artifact/org.apache. pdf box/fontbox --> <dependency> <groupId>org.apache. pdf box</groupId> <artifactId>fontb 本文实例讲述了 java 生成 缩略图 的方法。分享给大家供大家参考,具体如下:package com.util;import java .awt.image.BufferedImage;import java .io.File;import java .io.IOException;import java x.imageio.ImageIO;/*** 生成 压缩 图**/public class ImageScal... 项目中要使用 PDF 缩略图 ,使用 java 几个开源项目来对 pdf 转换为 图片 的工作。 参照了文章:http:// java sogo.iteye.com/blog/1169234  对比这几款开源项目 PDF Renderer、 pdf box、jpedal 的做法: 1. PDF Renderer: 确实效率最高,但是缺少字体支持对大多数中文 pdf 处理不了(很奇怪为什么项目组还没做默认字体支持) 2. pdf //将文件写入到本地并返回 图片 路径(路径用于存入数据库) public String[] uploadImage1(MultipartFile file,String barCode){ //时间戳 String currentTime =String.valueOf(new Date().getTime()); //原始 图片 路径 * 将指定 pdf 文件的首页转换为指定路径的 缩略图 *@param filepath 原文件路径,例如d:/test. pdf *@param imagepath 图片 生成 路径,例如 d:/test-1.jpg *@param zoom 缩略图 显示... &lt;!--使用的是 pdf box计数总页数与 缩略图 --&gt; &lt;!-- https://mvnrepository.com/artifact/com.sleepycat/je --&gt; &lt;dependency&gt; &lt;groupId&gt;com.sleepycat&lt;/groupId&gt; &lt;artifactId&gt;...... 写的这些功能主要就是放在定时任务上,每分钟查询是否要有转换的 图片 ,有的换然后就转换,前端展示 图片 就可以,大家可以浏览 图片 。不用在去下载哪些文件了。下面的是 pdf 图片 缩略图 的import java .awt.Graphics;import java .awt.image.BufferedImage;import java .io.File;import java .io.IOException;impo... PDF Renderer是一个LGPL许可的纯 java 库,使其简单(取自他们的示例页面):File file = new File("test. pdf ");RandomAccessFile raf = new RandomAccessFile(file, "r");FileChannel channel = raf.getChannel();ByteBuffer buf = channel.map... Java -截取视频资料中的一帧作为 缩略图 ,本文使用了Apache PDF Box中的常用类(PDDocument, PDF Renderer),去读取 PDF ,截取 PDF 。同时也使用FileUtils类中的copyURLToFile方法,读取网络中的 PDF 资源。简单方便,可快速上手。 具体代码如下: private void officeTo Pdf (){ OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); try { connection.connect(); <groupId>org.apache. pdf box</groupId> <artifactId> pdf box</artifactId> <version>2.0.8</versi... package com.ces.component.pictrueCut.entity; import java .awt.Image; import java .awt.Rectangle; import java .awt.image.BufferedImage; import java .io.File; import java .io.FileNotFoundExcep... http://zhengjj-2009.iteye.com/blog/1841190原文地址 最近在上下班的路上看 pdf 文件比较多,想把整本书d pdf 分割成对应的章节,所以自己看了一些参考资料后,自己写了一个小程序,实现了自己的想法。 我的基本需求是:提供一个 pdf 文件的全路径 + 新 生成 pdf 文件名称 + 起始页码 + 结束页码 最后就能在相同目录下找到新文件。 可以运行的代码是(需