From 84599f1fdac0d9723c7f02a2e66b0e909ad911d7 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 30 May 2024 09:44:11 +0800 Subject: [PATCH] 图片上传 --- src/main/java/cc/mrbird/febs/mall/test/PixelateImage.java | 190 +++++++++++++++++++++++----------------------- 1 files changed, 95 insertions(+), 95 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/test/PixelateImage.java b/src/main/java/cc/mrbird/febs/mall/test/PixelateImage.java index a1d2709..150d765 100644 --- a/src/main/java/cc/mrbird/febs/mall/test/PixelateImage.java +++ b/src/main/java/cc/mrbird/febs/mall/test/PixelateImage.java @@ -1,95 +1,95 @@ -package cc.mrbird.febs.mall.test; - -import com.sun.image.codec.jpeg.JPEGCodec; -import com.sun.image.codec.jpeg.JPEGEncodeParam; -import com.sun.image.codec.jpeg.JPEGImageEncoder; - -import javax.imageio.ImageIO; -import java.awt.*; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; - -public class PixelateImage { - - public static void main(String[] args) { - handleDpi(new File("D:\\image\\inputDpi.png"),50,50); - getPixel("D:\\image\\input.png"); - try { - resizeImage("D:\\image\\input.png","D:\\image\\output.png",360);//将图片压缩至100宽 - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * 功能:获取图片像素 - * * @param filePath 图片路径 - */ - public static void getPixel(String filePath){ - File file = new File(filePath); - BufferedImage bi = null; - try { - bi = ImageIO.read(file); - } catch (Exception e) { - e.printStackTrace(); - } - int width = bi.getWidth(); // 像素 - int height = bi.getHeight(); // 像素 - System.out.println("width=" + width + ",height=" + height + "."); - } - - - /** - * @param inputPath 源图片路径 - * @param outputPath 修改大小后图片路径 - * @param scaleSize 图片的修改比例,目标宽度 - */ - public static void resizeImage(String inputPath, String outputPath,int scaleSize) throws IOException { - - File srcFile = new File(inputPath); - Image srcImg = ImageIO.read(srcFile); - BufferedImage bi = null; - try { - bi = ImageIO.read(srcFile); - } catch (Exception e) { - e.printStackTrace(); - } - float width = bi.getWidth(); // 像素 - float height = bi.getHeight(); // 像素 - float scale = width/scaleSize; - BufferedImage buffImg = null; - buffImg = new BufferedImage(scaleSize, (int)(height/scale), BufferedImage.TYPE_INT_RGB); - //使用TYPE_INT_RGB修改的图片会变色 - buffImg.getGraphics().drawImage( - srcImg.getScaledInstance(scaleSize, (int)(height/scale), Image.SCALE_SMOOTH), 0, - 0, null); - - ImageIO.write(buffImg, "JPEG", new File(outputPath)); - } - - /** - * 改变图片DPI - * - * @param file - * @param xDensity - * @param yDensity - */ - public static void handleDpi(File file, int xDensity, int yDensity) { - try { - BufferedImage image = ImageIO.read(file); - JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(file)); - JPEGEncodeParam jpegEncodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image); - jpegEncodeParam.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH); - jpegEncoder.setJPEGEncodeParam(jpegEncodeParam); - jpegEncodeParam.setQuality(0.1f, false); - jpegEncodeParam.setXDensity(xDensity); - jpegEncodeParam.setYDensity(yDensity); - jpegEncoder.encode(image, jpegEncodeParam); - image.flush(); - } catch (IOException e) { - e.printStackTrace(); - } - } -} +//package cc.mrbird.febs.mall.test; +// +//import com.sun.image.codec.jpeg.JPEGCodec; +//import com.sun.image.codec.jpeg.JPEGEncodeParam; +//import com.sun.image.codec.jpeg.JPEGImageEncoder; +// +//import javax.imageio.ImageIO; +//import java.awt.*; +//import java.awt.image.BufferedImage; +//import java.io.File; +//import java.io.FileOutputStream; +//import java.io.IOException; +// +//public class PixelateImage { +// +// public static void main(String[] args) { +// handleDpi(new File("D:\\image\\inputDpi.png"),50,50); +// getPixel("D:\\image\\input.png"); +// try { +// resizeImage("D:\\image\\input.png","D:\\image\\output.png",360);//将图片压缩至100宽 +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// +// /** +// * 功能:获取图片像素 +// * * @param filePath 图片路径 +// */ +// public static void getPixel(String filePath){ +// File file = new File(filePath); +// BufferedImage bi = null; +// try { +// bi = ImageIO.read(file); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// int width = bi.getWidth(); // 像素 +// int height = bi.getHeight(); // 像素 +// System.out.println("width=" + width + ",height=" + height + "."); +// } +// +// +// /** +// * @param inputPath 源图片路径 +// * @param outputPath 修改大小后图片路径 +// * @param scaleSize 图片的修改比例,目标宽度 +// */ +// public static void resizeImage(String inputPath, String outputPath,int scaleSize) throws IOException { +// +// File srcFile = new File(inputPath); +// Image srcImg = ImageIO.read(srcFile); +// BufferedImage bi = null; +// try { +// bi = ImageIO.read(srcFile); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// float width = bi.getWidth(); // 像素 +// float height = bi.getHeight(); // 像素 +// float scale = width/scaleSize; +// BufferedImage buffImg = null; +// buffImg = new BufferedImage(scaleSize, (int)(height/scale), BufferedImage.TYPE_INT_RGB); +// //使用TYPE_INT_RGB修改的图片会变色 +// buffImg.getGraphics().drawImage( +// srcImg.getScaledInstance(scaleSize, (int)(height/scale), Image.SCALE_SMOOTH), 0, +// 0, null); +// +// ImageIO.write(buffImg, "JPEG", new File(outputPath)); +// } +// +// /** +// * 改变图片DPI +// * +// * @param file +// * @param xDensity +// * @param yDensity +// */ +// public static void handleDpi(File file, int xDensity, int yDensity) { +// try { +// BufferedImage image = ImageIO.read(file); +// JPEGImageEncoder jpegEncoder = JPEGCodec.createJPEGEncoder(new FileOutputStream(file)); +// JPEGEncodeParam jpegEncodeParam = jpegEncoder.getDefaultJPEGEncodeParam(image); +// jpegEncodeParam.setDensityUnit(JPEGEncodeParam.DENSITY_UNIT_DOTS_INCH); +// jpegEncoder.setJPEGEncodeParam(jpegEncodeParam); +// jpegEncodeParam.setQuality(0.1f, false); +// jpegEncodeParam.setXDensity(xDensity); +// jpegEncodeParam.setYDensity(yDensity); +// jpegEncoder.encode(image, jpegEncodeParam); +// image.flush(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +//} -- Gitblit v1.9.1