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;
    	}
    }
    

    原图片

    缩放后

  • 相关阅读:
    cogs.12运输问题2题解
    7.30考试password
    [Lydsy2017年4月月赛]抵制克苏恩题解
    NOIP2015斗地主题解 7.30考试
    「技巧拾珠」线段树维护区间最值
    COGS775 山海经
    POJ2942 Knights of the Round Table
    【学习笔记】二分图
    Luogu3057 (USACO12 FEB) Nearby Cows
    POJ2152 Fire
  • 原文地址:https://www.cnblogs.com/xqzt/p/5637157.html
Copyright © 2011-2022 走看看