栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java图片压缩工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java图片压缩工具类

直接上java图片压缩code:

import java.awt.Image; 
import java.awt.image.BufferedImage; 
import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
  
import javax.imageio.ImageIO; 
  
public class ImageProcess { 
  
 private Image img;  
  
 private int width;  
  
 private int height;  
  
 private String imageFormat; 
   
 public ImageProcess(InputStream in,String fileName) throws Exception{  
   //构造Image对象  
   img = ImageIO.read(in);  
   //得到源图宽  
   width = img.getWidth(null); 
   //得到源图长  
   height = img.getHeight(null); 
   //文件格式 
   imageFormat = fileName.substring(fileName.lastIndexOf(".")+1); 
 }  
   
 public byte[] resizeFix(int w, int h) throws IOException {  
   if (width / height > w / h) {  
     return resizeByWidth(w);  
   } else {  
     return resizeByHeight(h);  
   }  
 }  
   
 public byte[] resizeByWidth(int w) throws IOException {  
   int h = (int) (height * w / width);  
   return resize(w, h);  
 }  
   
 public byte[] resizeByHeight(int h) throws IOException {  
   int w = (int) (width * h / height);  
   return resize(w, h);  
 }  
   
 public byte[] resize(int w, int h) throws IOException {  
   // SCALE_SMOOTH 的缩略算法 生成缩略图片的平滑度的 优先级比速度高 生成的图片质量比较好 但速度慢  
   BufferedImage image = new BufferedImage(w, h,BufferedImage.TYPE_INT_RGB );   
   image.getGraphics().drawImage(img, 0, 0, w, h, null); // 绘制缩小后的图  
   ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
   ImageIO.write(image, imageFormat, baos); 
   return baos.toByteArray(); 
 }  
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/147873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号