压缩图片分辨率 ,根据 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. asp.net <%%> <%#%><%=%><%@%><%$%>用法区别

    asp.net <%%>&<%#%>&<%=%>&<%@%>&<%$%>用法区别 1.<% %> ...

  2. 远程操作linux

    import java.io.IOException;import java.io.InputStream;import org.apache.commons.io.IOUtils; import c ...

  3. Activex打包于发布完整版---微软证书制作

    众所周知,Activex组件没有进行有效的签名,在IE上无法安装的,除非你让用户手工开启“接收任何未签名的ActiveX”,这个很明显不现实.而组件签名需要证书,证书从哪里来,你可以选择付1000到3 ...

  4. C# 深入理解堆栈、堆在内存中的实现

    尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序.同时,还需要具备一些基础的内存管理工作机制 ...

  5. apache无法启动:The request operation has failed

    apache无法启动提示the requested operation has failed 的错误信息,有以下几种解决方法:1.80端口占用 apache默认使用的端口是80,而IIS和迅雷用的也是 ...

  6. P2P终结者和反P2P终结者如何使用

    1 安装软件并运行,首先扫描网络,第一台控制机就是自己,你可以查看IP,和命令提示符下的IP吻合. 2 点击高级选项,指定本机网络环境和网卡 3 控制规则设置,首先设置全局限速模板,其他的差不多. 4 ...

  7. Ubuntu12.04 Bugzilla 和 TestOpia的安装步骤

    1.        安装apache User@ubuntu:$  sudo apt-get install apache2 注:安装完以后能够通过http://192.168.128.128/ 来訪 ...

  8. Google 收购 Android 十周年 全面解读Android现状

    --訪传智播客Android学科教学总监传智·平一指 Android以前是一家创立于旧金山的公司的名字,该公司于2005年8月份被Google收购,并从此踏上了飞速发展的道路.经过十年的发展,它已经发 ...

  9. Unity UI代码自动生成

    最近在做新项目跟同事讨论UI制作方案, 这里就说下根据节点来生成UI代码,  这个工具可以根据预设生成一个分布类.目前组件还不是很完善, 自己使用需要修改部分代码 组件功能如下: 1. 自动设置引用 ...

  10. myBatis的引出

    jdbc 优点:简单易学,上手快,非常灵活构建sql,效率高. l缺点:代码繁琐,难以写出高质量的代码(资源的释放,SQL注入安全性等),开发者关注多,又要写业务逻辑,又要关注对象的创建和销毁. Hi ...