📄 thumbnail.java
字号:
package cn.js.fan.util.file.image;import java.awt.Image;import java.awt.Graphics2D;import java.awt.geom.AffineTransform;import java.awt.image.BufferedImage;import java.io.IOException;import java.io.OutputStream;import java.io.FileOutputStream;import javax.swing.ImageIcon;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;class Thumbnail { public static void createThumbnail( String srcPath, String thumbPath, int maxDim) { try { Image inImage = new ImageIcon( srcPath).getImage(); double scale = (double) maxDim / ( double) inImage.getHeight(null); if (inImage.getWidth( null) > inImage.getHeight(null)) { scale = (double) maxDim / ( double) inImage.getWidth(null); } int scaledW = (int) ( scale * inImage.getWidth(null)); int scaledH = (int) ( scale * inImage.getHeight(null)); BufferedImage outImage = new BufferedImage(scaledW, scaledH, BufferedImage.TYPE_INT_RGB); AffineTransform tx = new AffineTransform(); if (scale < 1.0d) { tx.scale(scale, scale); } Graphics2D g2d = outImage.createGraphics(); g2d.drawImage(inImage, tx, null); g2d.dispose(); OutputStream os = new FileOutputStream(thumbPath); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os); encoder.encode(outImage); os.close(); } catch (IOException e) { e.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -