压缩图片分辨率 ,根据 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. SQLAlchemy中filter()和filter_by()的区别

    1.filter引用列名时,使用“类名.属性名”的方式,比较使用两个等号“==” 2.filter_by引用列名时,使用“属性名”,比较使用一个等号“=” 3.在使用多条件匹配的时候,filter需要 ...

  2. eclipse安装pydev

    eclipse是常用的用来写java代码的IDE,但是其实也可以用来写python代码,只需要配置好pydev即可. 第一步 打开eclipse,点击Help,install new sofeware ...

  3. OSG 中文解决方案 【转】

    概述 本文只限于 windows 环境下. OSG 在 windows 下对中文支持已经非常的好了,但是可能很多人并不知道如何去正确的使用.为了解决这些常见的问题,还有一些基础知识的普及.特此把 OS ...

  4. material.setTexture("sampler",tex) assetbundle 下失效

    做镜面反射本来写很顺 在手机上测的时候 发现settexture这里绑不上 查好久 是assetbundle的缘故 因为动态加载的 obj用了mat01 我在反射脚本里动态修改mat01而不是拿 re ...

  5. What is required for a successful backup of all files during hoi backup?

    There is a typo in the body of this question. It should be "Hot" instead of "hoi" ...

  6. http://www.cnblogs.com/carekee/articles/1854674.html

    http://www.cnblogs.com/carekee/articles/1854674.html http://www.cnblogs.com/xdp-gacl/p/3926848.html

  7. Maven仓库设置代理

    线上服务器是没有外网环境的, 添加代理配置如下: <settings>     ...    <proxies>       <proxy>          &l ...

  8. 分析apache日志,统计ip访问频次命令

    统计访问频次最高的10个ip: cat /var/log/httpd/access_log |awk '{print $1}'|sort|uniq -c|sort -nr|head -10 统计恶意i ...

  9. spock spring 集成测试框架搭建心得

    转载:http://blog.csdn.net/hankle_xu/article/details/77531880 spock测试框架,使用groovy作为脚本语言,开发出的测试脚本具有优良的阅读性 ...

  10. atitit.微信支付的教程文档 attilax总结

    atitit.微信支付的教程文档 attilax总结 1. 支付流程概览 1 2. 设置支付起始文件夹   host/app/paydir/ 1 3. 设置oauth验证域名 1 4. 測试文件夹 能 ...