图片下载和压缩并转码成UTF-8的Base64流
来源:互联网 发布:linux硬盘分区 编辑:程序博客网 时间:2024/06/07 05:44
public String getPic2(String imageUrl, String fileNamePath) { Image img = null; URL url; // url请求图片流 DataInputStream dis = null; // 文件写入流 InputStream in = null; byte[] data = null; try { url = new URL(imageUrl); dis = new DataInputStream(url.openStream()); // 读取图片流 img = ImageIO.read(dis); int newWidth; int newHeight; // 输出图片计划尺寸,这决定最后缩放比例 int outWidthSize = 1800; int outHeightSize = 1800; // 为等比缩放计算输出的图片宽度及高度 double rate1 = ((double) img.getWidth(null)) / (double) outWidthSize + 0.1; double rate2 = ((double) img.getHeight(null)) / (double) outHeightSize + 0.1; // 根据缩放比率大的进行缩放控制 double rate = rate1 > rate2 ? rate1 : rate2; newWidth = (int) (((double) img.getWidth(null)) / rate); newHeight = (int) (((double) img.getHeight(null)) / rate); BufferedImage tag = new BufferedImage((int) newWidth, (int) newHeight, BufferedImage.TYPE_INT_RGB); /* * * Image.SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的 * 优先级比速度高 生成的图片质量比较好 但速度慢 */ tag.getGraphics().drawImage( img.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null); FileOutputStream out = new FileOutputStream(fileNamePath); // JPEGImageEncoder可适用于其他图片类型的转换 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); // 将缩放后图片画到指定文件 encoder.encode(tag); // 转换后的图片加载,供转码用 in = new FileInputStream(fileNamePath); data = new byte[in.available()]; in.read(data); in.close(); dis.close(); } catch (Exception e) { // TODO Auto-generated catch block // e.printStackTrace(); System.out.println("图片不存在!"); return ""; } // 图片转码 BASE64Encoder encoder = new BASE64Encoder(); String strUTF8=encoder.encode(data); try { strUTF8=URLEncoder.encode(strUTF8, "UTF-8"); System.out.println("++转码成功++"); } catch (UnsupportedEncodingException e) { System.out.println("++转码失败++"); } return strUTF8; }
- 图片下载和压缩并转码成UTF-8的Base64流
- 网络图片下载并压缩保存
- Android Http基础:图片下载并显示和WebView的应用
- Base64与UTF-8
- 字符编码笔记:ASCII、Unicode、UTF-8 和 Base64
- 字符编码笔记:ASCII、Unicode、UTF-8 和 Base64
- js图片转base64并压缩
- 图片转Base64并压缩,解压
- base64 压缩传送和非压缩传送
- javascript/微信小程序中将String进行Base64编码并UTF-8格式输出
- js压缩上传的图片,并转化为base64字符串传输
- GBK,UTF-8,ISO8859-1,unicode,base64
- canvas实现图片尺寸等比压缩并转换为base64字符串
- Android 压缩图片并转Base64方法之一
- android 图片下载并显示
- android图片下载并保存
- Android 图片下载并显示
- KVO和异步图片下载的结合使用
- 存储过程”的定义及优点
- 动态规划之最长非降子序列
- javaScript——优化
- OCP-1Z0-051-V9.02-74题
- 腾讯公司移动互联网的运营与营销
- 图片下载和压缩并转码成UTF-8的Base64流
- 安卓自测试题——第一期
- 使用VC6编译带加密功能的SQLITE3静态库
- opengl小程序
- 轻松学Java Web开发
- 常用标准Sql Server语句
- poj 1046 Color Me Less
- 打印单链表的倒数第k个结点
- 做好SEM的核心原则:方便-孙全