首页 > 编程语言 >直播系统搭建,java实现 图片转ico

直播系统搭建,java实现 图片转ico

时间:2023-07-20 14:11:57浏览次数:40  
标签:map ico icons bufferedImage new 直播 import java

直播系统搭建,java实现 图片转ico

 

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class imgUtil {
    public static void main(String[] args) throws Exception {
        //File file = new File("C:/Users/yys/Desktop/gggh.jpg");
        InputStream in = new FileInputStream("C:\\Users\\yys\\Desktop\\chengxu\\sxfdgh\\16620232335584.png");
        BufferedImage bufferedImage = ImageIO.read(in);
        if(bufferedImage == null){
            System.out.println("File not find");
            return;
        }
        List<BufferedImage> icons = new ArrayList<>();
        icons.add(getScaledInstance(bufferedImage, 16, 16));
        icons.add(getScaledInstance(bufferedImage, 32, 32));
        icons.add(getScaledInstance(bufferedImage, 64, 64));
        icons.add(getScaledInstance(bufferedImage, 128, 128));
        ICOEncoder.write(icons,new File("C:\\Users\\yys\\Desktop\\logo.ico"));
    }
    /**
     *
     * @param imgName 源图名称
     * @param imgPath 图片路径
     * @param imgFormat 要修改成的图片格式
     * @param imgNewName 新图片名称
     * @return
     */
    public static Map<String,Object> updateImgs(String imgName,String imgPath,String imgFormat,String imgNewName){
        Map<String,Object> map = new HashMap<>();
        try {
            InputStream in = new FileInputStream(imgPath+imgName);
            map = updateImgs(in,imgPath,imgFormat,imgNewName);
        }catch (Exception e){
            map.put("status",false);
            System.out.println("更改图片格式异常:"+e.getMessage());
            return map;
        }
        return map;
    }
    /**
     *
     * @param in 原图片流
     * @param imgPath 图片路径
     * @param imgFormat 要修改成的图片格式
     * @param imgNewName 新图片名称
     * @return
     */
    public static Map<String,Object> updateImgs(InputStream in,String imgPath,String imgFormat,String imgNewName){
        Map<String,Object> map = new HashMap<>();
        try {
            BufferedImage bufferedImage = ImageIO.read(in);
            if(bufferedImage == null){
                System.out.println("File not find");
                map.put("status",false);
                return map;
            }
            List<BufferedImage> icons = new ArrayList<>();
            icons.add(getScaledInstance(bufferedImage, 16, 16));
            icons.add(getScaledInstance(bufferedImage, 32, 32));
            icons.add(getScaledInstance(bufferedImage, 64, 64));
            icons.add(getScaledInstance(bufferedImage, 128, 128));
            ICOEncoder.write(icons,new File(imgPath+imgNewName));
            map.put("status",true);
            map.put("imgUrl",imgPath+imgNewName);
        }catch (Exception e){
            map.put("status",false);
            System.out.println("更改图片格式异常:"+e.getMessage());
            return map;
        }
        return map;
    }
    public static BufferedImage getScaledInstance(BufferedImage bufferedImage, int toWidth, int toHeight){
        Image scaledInstance = bufferedImage.getScaledInstance(toWidth, toHeight, 0);
        BufferedImage newBufferedImage = new BufferedImage(toWidth,
                toHeight, BufferedImage.TYPE_INT_RGB);
        newBufferedImage.createGraphics().drawImage(scaledInstance, 0, 0, Color.WHITE, null);
        return newBufferedImage;
    }
}

需引入jar

 


<dependency>
    <groupId>net.ifok.image</groupId>
    <artifactId>image4j</artifactId>
    <version>0.7.2</version>
</dependency>

 

 以上就是 直播系统搭建,java实现 图片转ico,更多内容欢迎关注之后的文章

 

标签:map,ico,icons,bufferedImage,new,直播,import,java
From: https://www.cnblogs.com/yunbaomengnan/p/17568282.html

相关文章

  • 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提供的处理日期和时......
  • java三角函数公式
    Java三角函数公式引言三角函数是数学中的重要概念,它们在计算机科学和其他领域中经常使用。在Java中,可以使用Math类中的静态方法来计算常见的三角函数值。本文将介绍Java中的三角函数公式,并提供代码示例。正弦函数(sinefunction)正弦函数是三角函数中最常见的一种。它表示一个角......