处理图片为指定的尺寸

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fhm6100411074/article/details/88219325
package com.example.demo.module.pic;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.UUID;

public class UplaodPicByUrl {

    public static void main(String[] args) {

        customPicSize();

    }

    public static void customPicSize() {
        String picUrl = "http://07imgmini.eastday.com/mobile/20190302/2019030217_61adaa3afab44d0fba034865460d2f65_7346_mwpl_05500201.jpg";
        InputStream inputStream = null;
        BufferedInputStream bufferedInputStream = null;
        BufferedOutputStream bufferedOutputStream = null;
        try {
            URL url = new URL(picUrl);
            URLConnection urlConnection = url.openConnection();
            inputStream = urlConnection.getInputStream();

            String realPath = "F:/aa";
            File dirs = new File(realPath);
            if (!dirs.exists()) {
                boolean isOK = dirs.mkdirs();
                if (isOK) {
                    System.out.println("创建文件夹成功");
                } else {
                    System.out.println("创建文件夹失败");
                }
            }

            bufferedInputStream = new BufferedInputStream(inputStream);
            Image image = ImageIO.read(bufferedInputStream);
            //把图片处理为210x160的尺寸
            BufferedImage bufferedImage = new BufferedImage(210, 160, BufferedImage.TYPE_INT_RGB);
            bufferedImage.getGraphics().drawImage(image, 0, 0, 210, 160, null);
            //输出流
            String fileType = "jpg";
            String fileUUID = UUID.randomUUID().toString().replace("-", "");
            String outFilePath = realPath + "/" + fileUUID + "." + fileType;

            bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFilePath));
            ImageIO.write(bufferedImage, fileType, bufferedOutputStream);

            System.out.println("图片地址:" + outFilePath);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (bufferedInputStream != null) {
                try {
                    bufferedInputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (bufferedOutputStream != null) {
                try {
                    bufferedOutputStream.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}
//计算图片的宽和高的 核心代码段
try {
            URL url = new URL(picUrl);
            URLConnection urlConnection = url.openConnection();
            urlConnection.setRequestProperty("Content-Encoding", "gzip");
            BufferedImage bufferedImage = ImageIO.read(urlConnection.getInputStream());
            width = bufferedImage.getWidth();
            height = bufferedImage.getHeight();
        } catch (Exception e) {
            
        }

猜你喜欢

转载自blog.csdn.net/fhm6100411074/article/details/88219325