javaweb 压缩文件图片


压缩图片分辨率 ,根据 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. }



posted on 2017-03-22 09:11  signheart  阅读(851)  评论(0编辑  收藏  举报

导航