首页 > 编程语言 >直播开发app,Java修改图片大小尺寸图片缩放

直播开发app,Java修改图片大小尺寸图片缩放

时间:2023-07-20 14:12:19浏览次数:40  
标签:Java 缩放 app BufferedImage import byte 图片大小

直播开发app,Java修改图片大小尺寸图片缩放

Thumbnailator是Java的开源图像大小调整库,它使用渐进式双线性缩放。它支持JPG,BMP,JPEG,WBMP,PNG和GIF。

 

通过将以下Maven依赖项添加到我们的pom.xml中,将其包括在我们的项目中:

 


<dependency>
    <groupId>net.coobird</groupId>
    <artifactId>thumbnailator</artifactId>
    <version>0.4.11</version>
</dependency>

工具类ThumbnailsUtils:

 


import net.coobird.thumbnailator.Thumbnails;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
 
public class ThumbnailsUtils{
    private static final Logger logger = LoggerFactory.getLogger(ThumbnailsUtils.class);
 
    /**
     * 通过BufferedImage图片流调整图片大小
     */
    public static BufferedImage resizeImageOne(BufferedImage originalImage, int targetWidth, int targetHeight) throws Exception {
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        Thumbnails.of(originalImage)
                .size(targetWidth, targetHeight)
                .outputFormat("JPEG")
                .outputQuality(1)
                .toOutputStream(outputStream);
        byte[] data = outputStream.toByteArray();
        ByteArrayInputStream inputStream = new ByteArrayInputStream(data);
        return ImageIO.read(inputStream);
    }
   
    /**
     * BufferedImage图片流转byte[]数组
     */
    public static byte[] imageToBytes(BufferedImage bImage) {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        try {
            ImageIO.write(bImage, "jpg", out);
        } catch (IOException e) {
            logger.error("错误信息: ", e);
        }
        return out.toByteArray();
    }
 
 
    /**
     * byte[]数组转BufferedImage图片流
     */
    private static BufferedImage bytesToBufferedImage(byte[] ImageByte) {
        ByteArrayInputStream in = new ByteArrayInputStream(ImageByte);
        BufferedImage image = null;
        try {
            image = ImageIO.read(in);
        } catch (IOException e) {
            logger.error("错误信息: ", e);
        }
        return image;
    }
}

 

以上就是直播开发app,Java修改图片大小尺寸图片缩放, 更多内容欢迎关注之后的文章

 

标签:Java,缩放,app,BufferedImage,import,byte,图片大小
From: https://www.cnblogs.com/yunbaomengnan/p/17568274.html

相关文章

  • 直播系统搭建,java实现 图片转ico
    直播系统搭建,java实现图片转ico importjavax.imageio.ImageIO;importjava.awt.*;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.ArrayList;importjav......
  • java实现softmax
    Java实现Softmax在机器学习中,Softmax是一种常用的归一化函数,它将一组任意实数的输入转换为范围在0和1之间的实数,并且这些实数的总和为1。Softmax函数通常用于多分类问题中,用于将输出映射到概率分布。本文将介绍如何使用Java实现Softmax函数,并提供代码示例。Softmax函数的定义So......
  • java图片压缩传输
    Java图片压缩传输在现代互联网应用中,图片的传输是非常常见的需求。然而,大尺寸的图片会占用更多的网络带宽和存储空间,导致传输速度变慢和资源浪费。为了解决这个问题,我们可以使用Java中的图片压缩技术来减小图片的尺寸,并通过网络传输。图片压缩算法图片压缩算法有很多种,其中最常......
  • java实现excel的下载和导入
    Java实现Excel的下载和导入Excel是广泛使用的电子表格软件,常用于数据存储和分析。在Java中,我们可以使用ApachePOI库来处理Excel文件。本文将介绍如何使用Java实现Excel的下载和导入功能,并提供相应的代码示例。1.Excel下载要实现Excel的下载,我们首先需要创建一个Excel文件,并将......
  • java图片存储软件
    如何实现Java图片存储软件介绍在这篇文章中,我将向你介绍如何实现Java图片存储软件。作为一名经验丰富的开发者,我将指导你完成整个过程。首先,我将展示整个实现过程的步骤,并使用表格形式呈现。然后,我将详细说明每一步需要做什么,并提供相应的代码示例和注释。实现步骤步骤描述......
  • java实时看板
    实现Java实时看板的步骤1.了解需求并规划项目在开始编码之前,我们需要与需求方进行沟通,明确实时看板的具体功能和展示要求。根据需求,我们可以规划项目的整体架构和实现步骤。2.创建Java项目首先,我们需要创建一个Java项目,在IDE中选择合适的项目类型(如Maven项目或普通Java项目)。......
  • java停止for循环
    Java停止for循环在Java中,for循环是一种常用的控制结构,用于重复执行一段代码。但有时候我们需要在循环中的某个条件满足时提前终止循环。本文将介绍几种常见的方法来停止for循环,并提供相应的代码示例。1.使用break语句break语句是一种常用的控制语句,它会立即终止当前所在的循环,......
  • java时间走动
    如何实现Java时间走动欢迎来到Java开发世界!在这里,我们将一起学习如何实现Java时间走动。这对于一个刚入行的新手来说可能是一个挑战,但我将帮助你理解并掌握这个过程。流程概述首先,让我们了解一下整个实现过程的流程。我将用一个表格来展示每个步骤。步骤描述步骤1创......
  • java跳到指定位置执行
    Java跳到指定位置执行作为一名经验丰富的开发者,我很乐意向刚入行的小白解释如何实现“Java跳到指定位置执行”。在本文中,我将通过表格展示整个流程,并提供每一步需要做的代码和相应的注释。流程表格步骤描述1定义一个标签(label)2使用无限循环(例如while(true))3使......
  • java时间加减计算方法
    Java时间加减计算方法在Java中,我们经常需要对时间进行加减计算,比如计算两个日期之间的天数差、计算某个日期之后的几天是哪一天等等。本文将介绍在Java中进行时间加减计算的方法,并提供相应的代码示例。1.使用java.util.Calendar类java.util.Calendar类是Java提供的处理日期和时......