⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thumbnail.java

📁 手机控制邮件以及附件的发送
💻 JAVA
字号:

package remote;

import com.sun.image.codec.jpeg.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;

public class Thumbnail {

	private String inputFile;
	private String outputFileName = "thumbnail_";
	private String outputFileType = ".jpg";
	private String fileLocation = "\\webapps\\remote_temp\\";
	private String outputFile = null;
	private int preview_width = 130;
	private int preview_height = 130;
	private int preview_quality = 75;
	private String CurrentUser = null;

	public Thumbnail(String path,String user){
		CurrentUser = user;
		init(path,128,128,75);
		
	}
	public Thumbnail(String path,String u,int w,int h,int q){
		CurrentUser = u;
		init(path,w,h,q);
	}

	private void init(String path,int width, int height, int quality){
		inputFile = path;
		preview_width = width;
		preview_height = height;
		preview_quality = quality;
		String catalina_home =System.getProperty("catalina.home");
		outputFile = catalina_home + fileLocation + outputFileName + CurrentUser + outputFileType;
	}

	public boolean createPreview(){

	boolean ready = false;
	try{

		// load image from INFILE
		Image image = Toolkit.getDefaultToolkit().getImage(inputFile);
		MediaTracker mediaTracker = new MediaTracker(new Container());
		mediaTracker.addImage(image, 0);
		mediaTracker.waitForID(0);
		// determine thumbnail size from WIDTH and HEIGHT
		int thumbWidth = preview_width;
		int thumbHeight = preview_height;
		double thumbRatio = (double)thumbWidth / (double)thumbHeight;
		int imageWidth = image.getWidth(null);
		int imageHeight = image.getHeight(null);

	
		double imageRatio = (double)imageWidth / (double)imageHeight;
		if (thumbRatio < imageRatio) {
			thumbHeight = (int)(thumbWidth / imageRatio);
		} else {
			thumbWidth = (int)(thumbHeight * imageRatio);
		}
		
		// draw original image to thumbnail image object and
		// scale it to the new size on-the-fly
		if (thumbWidth > imageWidth && thumbHeight > imageHeight){
			thumbWidth = imageWidth;
			thumbHeight = imageHeight;
		}
		BufferedImage thumbImage = new BufferedImage(thumbWidth, 
			thumbHeight, BufferedImage.TYPE_INT_RGB);
			Graphics2D graphics2D = thumbImage.createGraphics();
			graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
			RenderingHints.VALUE_INTERPOLATION_BILINEAR);
			graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);
		// save thumbnail image to OUTFILE
		BufferedOutputStream out = new BufferedOutputStream(new
		FileOutputStream(outputFile));
		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
		JPEGEncodeParam param = encoder.
		getDefaultJPEGEncodeParam(thumbImage);
		int quality = preview_quality;
		quality = Math.max(0, Math.min(quality, 100));
		param.setQuality((float)quality / 100.0f, false);
		encoder.setJPEGEncodeParam(param);
		encoder.encode(thumbImage);
		out.close(); 
		System.out.println("Done.");
		ready = true;

	} catch (Exception e){
		e.printStackTrace();
	}

	return ready;

	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -