zoukankan      html  css  js  c++  java
  • png 图片的缩放

    图片缩放的例子

    import java.awt.Image;
    import java.awt.geom.AffineTransform;
    import java.awt.image.AffineTransformOp;
    import java.awt.image.BufferedImage;
    import java.io.File;
    
    import javax.imageio.ImageIO;
    
    import junit.framework.TestCase;
    
    public class NarrowImg extends TestCase {
    
    
    /**
     * @param sourceImage 要缩放的源文件路径
     * @param targetImage 缩放后目标文件前缀
     * @param type        缩放后目标文件后缀
     */
    	public boolean CreateThumbnail(String sourceImage,String targetImage,String type) throws Exception {
    		double Ratio_width = 0.0; // 宽度的缩放比例
    		double Ratio_height = 0.0; // 高度的缩放比例
    		File F = new File(sourceImage);
    		if (!F.isFile())
    		throw new Exception(F+ " is not image file error in CreateThumbnail!");
    		File targetFile = new File(targetImage+"."+type);
    
    		BufferedImage Bi = ImageIO.read(F);
    		
    		// 假设图片宽 高 最大为120 120
    		Image Itemp = Bi.getScaledInstance(120, 120, BufferedImage.SCALE_SMOOTH);
    		Ratio_width = 120.0 / Bi.getHeight();
    		Ratio_height = 120.0 / Bi.getWidth();
    
    		AffineTransformOp op = new AffineTransformOp(AffineTransform.getScaleInstance(Ratio_width, Ratio_height), null);
    		Itemp = op.filter(Bi, null);
    
    		try {
    			ImageIO.write((BufferedImage) Itemp, type, targetFile);
    		} catch (Exception ex) {
    			throw new Exception(" ImageIo.write error in CreatThum.: "+ ex.getMessage());
    		}
    		
    		return true;
    	}
    }
    

    原图片

    缩放后

  • 相关阅读:
    关于宿命论的一点杂想
    关于平权意识
    《天语物道:李政道评传》
    这段时间的杂想
    Spring-Cloud简易全家桶实践
    spring-boot-starter实践
    docker 本地环境安装流程和基本指令
    SpringBoot启动关键点解析 及启动日志追溯
    Bean加载机制解读
    Spring Boot 启动机制源码阅读(粗略)
  • 原文地址:https://www.cnblogs.com/xqzt/p/5637157.html
Copyright © 2011-2022 走看看