Java程序Png图片保持透明度处理

2023-11-02

核心代码

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class A {
    public static BufferedImage resize(int faceWidth, BufferedImage srcImg) throws IOException {
        int imgWidth = 0;
        if (faceWidth > 70 && faceWidth < 120) {
            imgWidth = faceWidth * 7 / 8;
        } else if (faceWidth > 60 && faceWidth < 70) {
            imgWidth = faceWidth * 11 / 10;
        } else if (faceWidth < 60) {
            imgWidth = faceWidth * 6 / 5;
        } else {
            imgWidth = faceWidth * 4 / 5;
        }
        int imgHeight = imgWidth * srcImg.getHeight() / srcImg.getWidth();
        BufferedImage resizedImg = new BufferedImage(imgWidth, imgHeight, BufferedImage.TYPE_INT_RGB);
        Graphics2D resizedG = resizedImg.createGraphics();
        resizedImg = resizedG.getDeviceConfiguration().createCompatibleImage(imgWidth, imgHeight, Transparency.TRANSLUCENT);
        resizedG.dispose();
        resizedG = resizedImg.createGraphics();
        Image from = srcImg.getScaledInstance(imgWidth, imgHeight, srcImg.SCALE_AREA_AVERAGING);
        resizedG.drawImage(from, 0, 0, null);
        resizedG.dispose();
        return resizedImg;
    }

    public static void main(String[] args) {
        try {
            //读入图片
            BufferedImage image = (BufferedImage) ImageIO.read(new File("C:\\Users\\Administrator\\Desktop\\zjb.png"));
            //处理图片
            BufferedImage resize = resize(1769, image);
            //输出图片
            File outputfile = new File("C:\\Users\\Administrator\\Desktop\\zjb_deal.png");
            ImageIO.write(resize, "png", outputfile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java程序Png图片保持透明度处理 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 如何使用 Java 和 Selenium WebDriver 在 C 目录中创建文件夹并需要将屏幕截图保存在该目录中?

    目前正在与硒网络驱动程序和代码Java 我有一种情况 我需要在 C 目录中创建一个文件夹 并在该文件夹中创建我通过 selenium Web 驱动程序代码拍摄的屏幕截图 它需要存储在带有时间戳的文件夹中 如果我每天按计划运行脚本 所有屏幕截
  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 为什么 i++ 不是原子的?

    Why is i Java 中不是原子的 为了更深入地了解 Java 我尝试计算线程中循环的执行频率 所以我用了一个 private static int total 0 在主课中 我有两个线程 主题 1 打印System out prin
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • Java JDBC:更改表

    我希望对此表进行以下修改 添加 状态列 varchar 20 日期列 时间戳 我不确定该怎么做 String createTable Create table aircraft aircraftNumber int airLineCompa
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • INSERT..RETURNING 在 JOOQ 中不起作用

    我有一个 MariaDB 数据库 我正在尝试在表中插入一行users 它有一个生成的id我想在插入后得到它 我见过this http www jooq org doc 3 8 manual sql building sql statemen
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 如何为俚语和表情符号构建正则表达式 (regex)

    我需要构建一个正则表达式来匹配俚语 即 lol lmao imo 等 和表情符号 即 P 等 我按照以下示例进行操作http www coderanch com t 497238 java java Regular Expression D
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 【Java基础】Scanner中next与nextLine区别

    Scanner概念 scanner可以用来获取用户的输入 八个基本数据类型除字符外都可以输入 另外输入字符串有两种方式next与nextLine 接下来介绍他们的区别 1 next与nextLine的区别 1 1 区别一 String st
  • 上传AppStore 报错 ERRPR ITMS-90700

    小萌在解决乱七八糟的警告的时候 加入了Background Modes 然后就报了上述错误 把这个去掉之后重新打包 然后就顺利上线了
  • win10上python3密码库pycryptodome使用

    环境安装 python 在 Windows下使用密码库时要安装的是pycryptodome模块 pip install pycryptodome python 在 Linux下使用密码库时要安装的是pycrypto模块 pip instal
  • C/C++中字符串数组及strlen()和sizeof()区别

    1 字符串数组 标准C语言中没有字符串 string 类型 而只是在C 后添加了字符串string类 但是并不属于基础数据类型 只是类功能很强大 得到广泛应用 所以一般我们平时处理字符串 即字符序列 使用的都是字符串数组 1 1 字符串数组
  • 提升企业网络安全的重要性:EventLog Analyzer的角色

    在今天的数字时代 企业对网络安全的需求愈发迫切 随着互联网的不断发展和企业信息的数字化 网络攻击的威胁也不断增加 为了保护企业数据和系统的完整性 网络安全已经成为每个企业都必须认真对待的重要问题 在这个背景下 我们不得不提到一种强大的工具
  • SSM+mysql课程题库管理系统-计算机毕业设计源码18655

    摘 要 随着科学技术的飞速发展 各行各业都在努力与现代先进技术接轨 通过科技手段提高自身的优势 对于课程题库管理系统当然也不能排除在外 随着网络技术的不断成熟 带动了课程题库管理系统 它彻底改变了过去传统的管理方式 不仅使服务管理难度变低了
  • ENVI_IDL: 基础语法详解

    01 题目 02 代码说明 题目本身很简单 但是我自己加了一些东西进去增加难度 主要包括print函数的封装 格式化字符串 但是不影响代码的阅读 注 对于没有语言基础的人而言相对阅读困难 但是由于IDL是解释型语言 类似于Python 所以
  • 【PyTorch】如何取得预训练模型的标签label列表(以 Alexnet 在 ImageNet 上的预训练模型为例)

    PyTorch 预训练模型 PyTorch 提供过了大量的预训练模型可以直接拿来使用 或者进行增量训练和微调 拿 Alexnet 的预训练模型为例 import torch import torchvision model torchvis
  • Ubuntu系统下 .7z 文件压缩解压命令

    安装软件 sudo apt install p7zip full 解压文件 解压命令 7z x filename 7z r o test 参数说明 7z 解压缩文件命令 x 表示解压缩 r 表示递归解压缩所有的子文件夹 o 指定解压到的那个
  • JProfile 分析OOM hprof文件

    JProfile 分析OOM OutOfMemoryError 1 JVM组成 首先要明白JVM组成 方法区 非堆 Method Area No Heap Java栈 虚拟机栈 VM Stack Java Stack 本地方法栈 Nativ
  • 解决浏览器”您的连接不是私密链接“的问题!最详细!!!

    Google的Chorom浏览器打开baidu主页 显示 您的连接不是私密连接 攻击者可能会试图从 x x x x 窃取您的信息 例如 密码 通讯内容或信用卡信息 了解详情 NET ERR CERT INVALID 网上找了很多人的解决办法
  • LeetCode 465. Optimal Account Balancing

    原题网址 https leetcode com problems optimal account balancing A group of friends went on holiday and sometimes lent each ot
  • linux ftp查看用户目录权限,linux 指定ftp用户 特定目录及权限

    Linux添加FTP用户并设置权限 在linux中添加ftp用户 并设置相应的权限 操作步骤如下 1 环境 ftp为vsftp 被限制用户名为test 被限制路径为 home test 2 建用户 在root用户下 useradd d ho
  • MyBatis-Plus——代码自动生成器

    哈喽 大家好 我是 一位上进心十足的 Java领域博主 的写作风格 喜欢用 通俗易懂 的文笔去讲解每一个知识点 而不喜欢用 高大上 的官方陈述 博客的领域是 面向后端技术 的学习 未来会持续更新更多的 后端技术 以及 学习心得 如果有对 后
  • Cesium中文教程-Cesium Workshop(一)

    欢迎来到Cesium社区 非常高兴能加入我们 为了帮助您开发自己的web地图应用程序 本教程将从头到尾介绍如何开发一款简单但有广泛影响的Cesium应用程序 本教程将接触到许多CesiumJS API重要的方面 但这并不意味着包括所有 Ce
  • openLDAP安装卸载与重装

    安装卸载 安装与卸载点击跳转 openLDAP与phpldapadmin安装点击跳转 重装问题 点击跳转
  • 基于SpringBoot工程开发Docker化微服务

    目录 1 微服务容器化治理的优缺点 1 1 微服务容器化的优点 1 2 微服务容器化的缺点 2 微服务的两种模式 2 1 Microservice SDK 2 2 ServiceMesh 3 微服务容器化治理的推荐模式 4 Windows下
  • 湖南省副省长秦国文一行调研考察亚信科技

    9月5日 湖南省人民政府党组成员 副省长秦国文一行到亚信科技调研考察 亚信科技高级副总裁陈武主持接待 图 双方合影 在亚信科技创新展示中心 秦国文了解了亚信科技在5G 算力网络 人工智能 大数据等前沿领域的创新探索 在数字化运营 智慧城市
  • 使用java API操作hdfs--读取hdfs文件并打印

    在myclass之中创建类文件 这个myclass目录是自己创建的 编译的时候会报如下的错误 很明显就是没有导入包的结果 见这个API网站 则可以找到响应的包 当然还有java的api文档 http hadoop apache org do
  • Java程序Png图片保持透明度处理

    核心代码 import javax imageio ImageIO import java awt import java awt image BufferedImage import java io File import java io