压缩图片分辨率 ,根据 url  和 根据 file


  1. /**
  2. * <p>Title: thumbnailImage</p>
  3. * <p>Description: 根据图片路径生成缩略图 </p>
  4. * @param imagePath 原图片路径
  5. * @param w 缩略图宽
  6. * @param h 缩略图高
  7. * @param prevfix 生成缩略图的前缀
  8. * @param force 是否强制按照宽高生成缩略图(如果为false,则生成最佳比例缩略图)
  9. */
  10. public static File thumbnailImage(File imgFile, String format,int w, int h, boolean force){
  11. File file = null;
  12. try {
  13. // ImageIO 支持的图片类型 : [BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
  14. // 获取图片后缀
  15. Image img = ImageIO.read(imgFile);
  16. BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
  17. Graphics g = bi.getGraphics();
  18. g.drawImage(img, 0, 0, w, h, Color.LIGHT_GRAY, null);
  19. g.dispose();
  20. ByteArrayOutputStream os = new ByteArrayOutputStream();
  21. ImageIO.write(bi,format,os);
  22. byte [] bytes = os.toByteArray();
  23. BufferedOutputStream bos = null;
  24. FileOutputStream fos = null;
  25. file = new File("temp");
  26. fos = new FileOutputStream(file);
  27. bos = new BufferedOutputStream(fos);
  28. bos.write(bytes);
  29. bos.close();
  30. fos.close();
  31. os.close();
  32. } catch (IOException e) {
  33. }
  34. return file;
  35. }
  36. public static InputStream thumbnailImageByUrl(String url,String format,int w, int h, boolean force){
  37. try {
  38. // ImageIO 支持的图片类型 : [BMP, bmp, jpg, JPG, wbmp, jpeg, png, PNG, JPEG, WBMP, GIF, gif]
  39. // 获取图片后缀
  40. Image img = ImageIO.read(new URL(url));
  41. BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
  42. Graphics g = bi.getGraphics();
  43. g.drawImage(img, 0, 0, w, h, Color.LIGHT_GRAY, null);
  44. g.dispose();
  45. ByteArrayOutputStream os = new ByteArrayOutputStream();
  46. ImageIO.write(bi, format, os);
  47. InputStream input = new ByteArrayInputStream(os.toByteArray());
  48. os.close();
  49. return input;
  50. } catch (IOException e) {
  51. e.printStackTrace();
  52. }
  53. return null;
  54. }




javaweb 压缩文件图片的更多相关文章

  1. 文件上传,服务端压缩文件方法,重点是png与gif图片的压缩,保证了透明度与动画

    /// <summary> /// 上传文件帮助类 /// </summary> public class ImageUploadHelper { #region SaveVi ...

  2. javaWeb导出POI创建的多个excel的压缩文件

    文件效果图: 接口代码: //测试 http://localhost:8080/admin/test/test/poizip @RequestMapping(value = "/poizip ...

  3. JavaWeb多文件上传及zip打包下载

    项目中经常会使用到文件上传及下载的功能.本篇文章总结场景在JavaWeb环境下,多文件上传及批量打包下载功能,包括前台及后台部分.  首先明确一点:  无法通过页面的无刷新ajax请求,直接发下载.上 ...

  4. iOS中使用ZipArchive压缩和解压缩文件-备

    为什么我需要解压缩文件 有许多原因能解释为什么我要在工程中使用压缩和解压缩功能,下面是几个常见的原因: 苹果App Store的50M下载限制 苹 果公司出于流量的考虑,规定在非WIFI环境下,限制用 ...

  5. 压缩文件 compress files 以7z 格式及解压 或者别的格式

    主要是为了能大量的减少文件使用空间,为了能节约带宽. 那么就用了7z的压缩方式. 这里,使用了7z的压缩方式,硬生生的将一个10k多的图片压缩成了3k左右的包.图片是不好压缩的,这个压缩比比zip g ...

  6. java压缩文件解压:调用WinRAR5命令强于自己写代码实现

    最近,手上维护着一个几年前的系统,技术是用的JSP+Strust2,系统提供了rar和zip两种压缩格式的解压功能,后台是用java实现的 1.解压rar格式,采用的是java-unrar-0.3.j ...

  7. java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。

    java多图片上传--前端实现预览 前端代码: https://pan.baidu.com/s/1cqKbmjBSXOhFX4HR1XGkyQ 解压后: java后台: <!--文件上传--&g ...

  8. 一张有料的图片!!!附文件-图片合成器C语言实现算法

    凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.打开F盘,先找两个文件,一个是压缩文件(2.rar),另一个是一张图片(1.jpg),将其放到F盘目录下, ...

  9. 自制 COCO api 直接读取类 COCO 的标注数据的压缩文件

    第6章 COCO API 的使用 COCO 数据库是由微软发布的一个大型图像数据集,该数据集专为对象检测.分割.人体关键点检测.语义分割和字幕生成而设计.如果你要了解 COCO 数据库的一些细节,你可 ...

随机推荐

  1. Spark Streaming updateStateByKey和mapWithState源码解密

    本篇从二个方面进行源码分析: 一.updateStateByKey解密 二.mapWithState解密 通过对Spark研究角度来研究jvm.分布式.图计算.架构设计.软件工程思想,可以学到很多东西 ...

  2. java线程总结(4/5)

    转自:http://blog.csdn.net/qiaqia609/article/details/8067356 整理的一些关于线程的面试题目: 46.java中有几种方法可以实现一个线程?用什么关 ...

  3. 算法笔记_165:算法提高 道路和航路(Java)

    目录 1 问题描述 2解决方案   1 问题描述 问题描述 农夫约翰正在针对一个新区域的牛奶配送合同进行研究.他打算分发牛奶到T个城镇(标号为1..T),这些城镇通过R条标号为(1..R)的道路和P条 ...

  4. 算法笔记_052:蓝桥杯练习Multithreading(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 现有如下一个算法: repeat ni times yi := y y := yi+1 end repeat 令n[1]为你需要算加法的第 ...

  5. 在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法。(转)

    在linux下的使用复制命令cp,不让出现“overwrite”(文件覆盖)提示的方法. 一般我们在使用cp命令时加上-f选项,希望不让出现“overwrite”的提示(文件覆盖的提示).如:# cp ...

  6. Hibernate继承类的实现

    版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5603724.html  对于继承关系类的映射.比如在论坛中文章(Ar ...

  7. 尚学堂的一个用了ExtJs的页面代码

    <html>     <head>         <meta http-equiv="Content-Type" content="tex ...

  8. tomcat+nginx+redis集群试验

    Nginx负载平衡 + Tomcat + 会话存储Redis配置要点   使用Nginx作为Tomcat的负载平衡器,Tomcat的会话Session数据存储在Redis,能够实现0当机的7x24 运 ...

  9. 【php】在php代码嵌入HTML代码(适用于公众号开发)

    核心:HTML的双引号["]一定要转义,不废话: $link = "<a href=\"http://www.baidu.com\">最新活动链接& ...

  10. asp.net 查询本地excel 获取信息

    string filepath = @"D:\test1.xls";         string sheetname = "Sheet5";          ...