何炅做的网站广告,百度识图查另一半情头网页版,南昌做网站比较好的公司,会计专业简历制作读取文件夹内的所有图片并裁剪返回到指定文件夹。用于图片的快速裁剪#xff0c;精修图片做不到#xff0c;毕竟这是程序来做的。
package com.nbomb.route.test;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.Fi…读取文件夹内的所有图片并裁剪返回到指定文件夹。用于图片的快速裁剪精修图片做不到毕竟这是程序来做的。
package com.nbomb.route.test;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class ImageResize {public static void main(String[] args) {double SCALE_FACTOR 1.15;String sourceFolderPath D:\\下载\\小红书;String targetFolderPath D:\\下载\\裁剪小红书;int targetWidth 900;int targetHeight 1200;File sourceFolder new File(sourceFolderPath);File[] sourceFiles sourceFolder.listFiles();for (File sourceFile : sourceFiles) {if (sourceFile.isFile() isImageFile(sourceFile)) {try {BufferedImage sourceImage ImageIO.read(sourceFile);int scaledWidth (int) (sourceImage.getWidth() * SCALE_FACTOR);if (scaledWidth900){scaledWidth 1000;}int scaledHeight (int) (sourceImage.getHeight() * SCALE_FACTOR);if (scaledHeight1200){scaledHeight1200;}BufferedImage scaledImage scaleImage(sourceImage, scaledWidth, scaledHeight);BufferedImage resizedImage cropImage(scaledImage, targetWidth, targetHeight);File targetFile new File(targetFolderPath, sourceFile.getName());ImageIO.write(resizedImage, jpg, targetFile);System.out.println(Processed: sourceFile.getName());} catch (IOException e) {e.printStackTrace();}}}}private static boolean isImageFile(File file) {String extension getFileExtension(file).toLowerCase();return extension.endsWith(jpg) || extension.endsWith(jpeg) || extension.endsWith(png);}private static String getFileExtension(File file) {String fileName file.getName();int indexOfLastDot fileName.lastIndexOf(.);return indexOfLastDot ! -1 indexOfLastDot ! 0 ? fileName.substring(indexOfLastDot 1) : ;}private static BufferedImage scaleImage(BufferedImage sourceImage, int width, int height) {Image scaledImage sourceImage.getScaledInstance(width, height, Image.SCALE_SMOOTH);BufferedImage bufferedImage new BufferedImage(width, height, sourceImage.getType());Graphics2D g2d bufferedImage.createGraphics();g2d.drawImage(scaledImage, 0, 0, null);g2d.dispose();return bufferedImage;}private static BufferedImage cropImage(BufferedImage sourceImage, int width, int height) {int x (sourceImage.getWidth() - width) / 2;int y (sourceImage.getHeight() - height) / 2;return sourceImage.getSubimage(x, y, width, height);}
}