• 大小: 3KB
    文件类型: .java
    金币: 1
    下载: 0 次
    发布日期: 2021-06-01
  • 语言: Java
  • 标签: java  

资源简介

java上传图片功能,图片太大,等比例压缩算法(原尺寸压缩)

资源截图

代码片段和文件信息

package enterprise.celerity.ac.util;

import java.awt.AlphaComposite;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;

import javax.imageio.ImageIO;

import org.apache.log4j.Logger;

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;

/**
 * 

This is about CompressPicUtil.java.
 *
 * @version V1.0
 */

public class CompressPicUtil {
protected static final Logger logger = Logger.getLogger(CompressPicUtil.class);
private static Image img;

/**
 * 等比例压缩算法(原尺寸压缩)
 * @param filesrc 原图地址
 * @param outsrc 缩略图地址
 */

public static void composePic(String filesrcString outsrc) {  
    try {  
        File bgfile = new File(filesrc);  
        Image bg_src = javax.imageio.ImageIO.read(bgfile);  
          
        img = ImageIO.read(bgfile);      // 构造Image对象  
        int width = img.getWidth(null);    // 得到源图宽  
        int height = img.getHeight(null);  // 得到源图长  
        
        int bg_width =width;
        int bg_height =height;
  
        BufferedImage tag = new BufferedImage(bg_width bg_height BufferedImage.TYPE_INT_RGB);  
          
        Graphics2D g2d = tag.createGraphics();  
        g2d.drawImage(bg_src 0 0 bg_width bg_height null);  
          
        g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP1.0f)); //透明度设置开始    
        g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER)); //透明度设置 结束  
          
        FileOutputStream out = new FileOutputStream(outsrc);  
        JPE


评论

共有 条评论