详细的代码

来源:1-1 Java实现图片等比例缩略图课程介绍

幻池雨声

2018-06-07 13:15

请问有课程的代码吗??


写回答 关注

1回答

  • sunbohan00
    2018-07-16 15:12:07
    public class NarrowImage {
    	/**
    	* @param im
    	*            原始图像
    	* @param resizeTimes
    	*            倍数,比如0.5就是缩小一半,0.98等等double类型
    	* @return 返回处理后的图像
    	*/
    	public BufferedImage zoomImage(String src) {
    		
    		BufferedImage result = null;
    		try {
    			File srcfile = new File(src);
    			if (!srcfile.exists()) {
    				System.out.println("文件不存在");
    				
    			}
    			BufferedImage im = ImageIO.read(srcfile);
    			/* 原始图像的宽度和高度 */
    			int width = im.getWidth();
    			int height = im.getHeight();
    			
    			//压缩计算
    			float resizeTimes = 0.3f;  /*这个参数是要转化成的倍数,如果是1就是转化成1倍*/
    			
    			/* 调整后的图片的宽度和高度 */
    			int toWidth = (int) (width * resizeTimes);
    			int toHeight = (int) (height * resizeTimes);
    			/* 新生成结果图片 */
    			result = new BufferedImage(toWidth, toHeight,
    					BufferedImage.TYPE_INT_RGB);
    			result.getGraphics().drawImage(
    					im.getScaledInstance(toWidth, toHeight,
    							java.awt.Image.SCALE_SMOOTH), 0, 0, null);
    			
    		} catch (Exception e) {
    			System.out.println("创建缩略图发生异常" + e.getMessage());
    		}
    		
    		return result;
    	}
    	
    	public boolean writeHighQuality(BufferedImage im, String fileFullPath) {
    	try {
    	/*输出到文件流*/
    	FileOutputStream newimage = new FileOutputStream(fileFullPath);
    	JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
    	JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(im);
    	/* 压缩质量 */
    	jep.setQuality(0.9f, true);
    	encoder.encode(im, jep);
    	/*近JPEG编码*/
    	newimage.close();
    	return true;
    	} catch (Exception e) {
    	return false;
    	}
    	}
    	
    	
    	public static void main(String[] args) {
    		
    		String inputFoler = "E:\\新建文件夹\\7.jpg" ;
    /*这儿填写你存放要缩小图片的文件夹全地址*/
    String outputFolder = "E:\\新建文件夹\\07.jpg";
    /*这儿填写你转化后的图片存放的文件夹*/
    		
    		NarrowImage narrowImage = new NarrowImage();
    		narrowImage.writeHighQuality(narrowImage.zoomImage(inputFoler), outputFolder);
    		
    	}
    }
    
    代码给你,希望对你有用
    望采纳~


Java实现图片等比例缩略图

视频教程以实例的方式,讲解Java平台实现图片等比例缩略图生成

25335 学习 · 16 问题

查看课程

相似问题