图片叠加_图片压缩

图片叠加

try {/* 1 读取第一张图片*/File fileOne = new File("1.png");BufferedImage imageFirst = ImageIO.read(fileOne);/* 2读取第二张图片 */File fileTwo = new File("2.png");BufferedImage imageSecond = ImageIO.read(fileTwo);//创建一个最底层画布 高和宽为第一章图片的高和宽BufferedImage image = new BufferedImage(imageFirst.getWidth(),imageFirst.getHeight(),BufferedImage.TYPE_INT_ARGB);//通过底图创建画笔Graphics graphics = image.getGraphics();//在底图上画第一张图graphics.drawImage(imageFirst,0,0,null);//在底图上画第二张图  参数: 图片, x轴坐标, y轴坐标, null graphics.drawImage(imageSecond,0,0,null);//在图片上写文字graphics.drawString("i am a str", 10, 30);//输出图片File outFile = new File("out.png");ImageIO.write(image, "png", outFile);} catch (Exception e) {e.printStackTrace();}

图片叠加示例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

图片压缩

    /*** 图片压缩** @param imgsrc     原图地址* @param imgdist    压缩后地址* @param widthdist  宽* @param heightdist 高*/public static void reduceImg(String imgsrc, String imgdist, int widthdist, int heightdist) {try {File srcfile = new File(imgsrc);if (!srcfile.exists()) {return;}Image src = javax.imageio.ImageIO.read(srcfile);BufferedImage tag = new BufferedImage((int) widthdist, (int) heightdist, BufferedImage.TYPE_INT_RGB);tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist, Image.SCALE_SMOOTH), 0, 0, null);
//            tag.getGraphics().drawImage(src.getScaledInstance(widthdist, heightdist, Image.SCALE_AREA_AVERAGING), 0, 0, null);FileOutputStream out = new FileOutputStream(imgdist);JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);encoder.encode(tag);out.close();} catch (IOException ex) {ex.printStackTrace();}}public static void main(String[] args) {reduceImg("out.png", "111.png", 300, 300);}

图片压缩示例
压缩前
在这里插入图片描述

压缩后
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/151107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32 SPI

SPI介绍 SPI是Serial Pepheral interface缩写,串行外围设备接口。 SPI接口是一种高速的全双工同步通信总线,已经广泛应用在众多MCU、存储芯片、AD转换器和LCD之间。大部分STM32有3个SPI接口,本实验使用的是SPI1。 SPI同一时刻既能发送数据&…

vue3+vite+ts 发布自定义组件到npm

vue3vite 发布自定义组件到npm 初始化项目编写组件配置打包组件上传到npm测试组件库 初始化项目 // 创建项目 pnpm create vite vue-test-app --template vue-ts// 运行项目 cd vite vue-test-app pnpm install pnpm run dev编写组件 1、根目录下创建packages目录作为组件的开…

MindNode v5.0.1(思维导图软件)

思维导图软件哪个比较好呢?MindNode for mac一款功能简单,界面简洁,不用看教程都会用的思维导图软件。mindnode mac可随时随地记录自己的想法,让您从灵感入手,将奇思妙想铺陈在画布上,让一切井井有条。 Mi…

企业实现员工聊天和转账行为的实时监管

如何解决企业营销团队的管理问题? 在当今竞争激烈的市场环境中,企业营销团队的管理显得尤为重要。营销团队是企业发展的重要支柱,然而,一些常见的问题如员工飞单、私单、辱骂删除客户、离职带走公司客户以及工作不认真、工作量无…

【Linux网络】典型NAS存储方式:NFS网络共享存储服务

一、关于存储的分类 二、NFS的介绍 nfs的相关介绍: 1、原理 2、nfs的特点 3、nfs软件学习 4、共享配置文件的书写格式 关于权限,学习: 5、关于命令的学习: 三、实验操作 1、nfs默认共享权限(服务端设置&#…

腐蚀监测常用技术及作用

上次我们介绍了设备状态监测中的红外热像技术>>热成像仪的工作原理及在工业设备状态监测中的应用,这次我们一起来探讨腐蚀监测技术方面的内容。 在工业领域中,腐蚀监测技术是腐蚀控制的重要部分和可靠而有效的手段。通过对设备的腐蚀情况进行监测和…

.babyk勒索病毒解析:恶意更新如何威胁您的数据安全

导言: 在数字时代,威胁不断进化,其中之一就是.babyk勒索病毒。这种病毒采用高级加密算法,将用户文件锁定,并要求支付赎金以获取解密密钥。本文91数据恢复将深入介绍.babyk勒索病毒的特点、如何应对被加密的数据&#…

运行软件报错mfc140.dll丢失?分享mfc140.dll丢失的解决方法

小伙伴们,你是否也有过这样的经历:每当碰到诸如" mfc140.dll 丢失 "之类的烦人错误时,你是不是会一头雾水,完全不知道从何下手去解决?不要担心,接下来咱就给你提供这样一篇实用教程,教…

【完全攻略】Gradio:建立机器学习网页APP

目录 前言一、Gradio介绍以及安装1-1、Gradio介绍1-2、安装 二、快速开始(初步了解)2-1、简单小栗子2-2、多输入多输出2-3、简易聊天机器人 三、关键技术3-1、带有样例的输入3-2、提示弹窗3-3、描述内容3-4、风格3-5、流式输出3-6、进度条3-7、分享APP 总…

4 redis的HyperLogLog入门原理

一、HyperLogLog(字符串类型) 需求:大型网站(不在大厂基本上用不到) 每个网页每天的 UV 数据(独立访客),统计如何实现?(尽量少的占用存储空间) Redis 提供了 HyperLogLog 数据结构就是用来解决这种统计问题的。Hyper…

Django学习日志09

choices参数的使用 """对于以上可能被我们列举完的字段我们一般都是选择使用choices参来做""" class UserInfo(models.Model):username models.CharField(max_length64)password models.CharField(max_length32)# 先写一个映射关系gender_cho…

idea中把spring boot项目打成jar包

打jar包 打开项目,右击项目选中Open Module Settings进入project Structure 选中Artifacts,点击中间的加号(Project Settings->Artifacts->JAR->From modules with dependencies ) 弹出Create JAR from Modules&#…

[AutoSar]CP autosar 面试题

目录 关键词前言面试官提问答案 关键词 嵌入式、C语言、autosar、面试题 前言 以前面试中的一些常提到的问题,在这里整理一下,希望对要去面试的道友有所帮助。 其中问题的答案后续有时间会再更新整理。 面试官提问 1.Autosar 概述: 解释 …

pytest-rerunfailures插件之测试用例失败重跑

环境前提: 只有同时满足一下先决条件才能使用pytest-rerunfailures ①python的版本不能过低; ②pytest 5.0或更高版本; 背景: 平时在做接口测试的时候,经常会遇到网络抖动或者环境问题导致测试用例运行失败&#x…

2024年csdn最新最全的Postman接口测试: postman实现参数化

什么时候会用到参数化 比如:一个模块要用多组不同数据进行测试 验证业务的正确性 Login模块:正确的用户名,密码 成功;错误的用户名,正确的密码 失败 postman实现参数化 在实际的接口测试中,部分参数…

Delayed 延时任务

延时任务与定时任务的区别 延时任务,可以理解为定时任务的一种,但是他们是有区别的。 延时任务:将程序代码延时执行,执行完毕,即为结束。 定时任务:周期性执行任务。代码执行完毕后,并不意味着…

零基础安装分布式数据服务注册系统

一、先安装VM虚拟机,安装最新的ubuntu22系统, 先安装mysql, sudo apt install mysql-server sudo mysql_secure_installation 根据自己需求选择 密码安全级别时,选择n 删除匿名用户?(按y|Y表示是&…

【算法挨揍日记】day23——740. 删除并获得点数、LCR 091. 粉刷房子

740. 删除并获得点数 740. 删除并获得点数 题目描述: 给你一个整数数组 nums ,你可以对它进行一些操作。 每次操作中,选择任意一个 nums[i] ,删除它并获得 nums[i] 的点数。之后,你必须删除 所有 等于 nums[i] - 1…

PyCharm:PyCharm新建.py文件时自动带出指定内容

在pycharm中加上指定内容,每次新建.py文件都会自动带出指定内容 操作: File—Setting—Editor----File and Code Templates--Python Script 在右侧窗口中加上如下信息 # encoding: utf-8 # author: Jeffrey # file: ${NAME}.py # time: ${DATE} ${TI…

Kettle 简介

1. PDI结构简介 图 1‑1 PDI核心组件 Spoon是构建ETL Jobs和Transformations的工具。Spoon可以以拖拽的方式图形化设计,能够通过spoon调用专用的数据集成引擎或者集群。 Data Integration Server是一个专用的ETL Server,它的主要功能有: 功能…