Java之png图片工具类
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Transparency;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;/*** 图片工具类*/
public class ImageUtil
{/*** 裁剪PNG图片工具类** @param fromFile 源文件* @param toFile 裁剪后的文件* @param outputWidth 裁剪宽度* @param outputHeight 裁剪高度* @param proportion 是否是等比缩放*/public static void resizePng(File fromFile, File toFile, int outputWidth, int outputHeight, boolean proportion){try{BufferedImage bi2 = ImageIO.read(fromFile);int newWidth;int newHeight;// 判断是否是等比缩放if (proportion){// 为等比缩放计算输出的图片宽度及高度double rate1 = ((double) bi2.getWidth(null)) / (double) outputWidth + 0.1;double rate2 = ((double) bi2.getHeight(null)) / (double) outputHeight + 0.1;// 根据缩放比率大的进行缩放控制double rate = rate1 < rate2 ? rate1 : rate2;newWidth = (int) (((double) bi2.getWidth(null)) / rate);newHeight = (int) (((double) bi2.getHeight(null)) / rate);} else{newWidth = outputWidth; // 输出的图片宽度newHeight = outputHeight; // 输出的图片高度}BufferedImage to = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);Graphics2D g2d = to.createGraphics();to = g2d.getDeviceConfiguration().createCompatibleImage(newWidth, newHeight, Transparency.TRANSLUCENT);g2d.dispose();g2d = to.createGraphics();@SuppressWarnings("static-access")Image from = bi2.getScaledInstance(newWidth, newHeight, bi2.SCALE_AREA_AVERAGING);g2d.drawImage(from, 0, 0, null);g2d.dispose();ImageIO.write(to, "png", toFile);} catch (Exception e){e.printStackTrace();}}/*** 测试*/public static void main(String[] args) throws Exception{File fromFile = new File("c:/a.png");File toFile = new File("c:/b.png");resizePng(fromFile, toFile, 31, 32, false);}
}
转载:https://gitee.com/northstar888/codes/u638g2kszn147wvipdlhx76
Java之png图片工具类相关推荐
- java 生成水印图片工具类, MultipartFile接收上传的图片,处理成加水印之后的MultipartFile
/*** Created by Administrator on 2018/4/26.* JAVA图片处理工具*/ public class ImageUtil {public enum positi ...
- Java 旋转、翻转图片工具类(附代码) | Java工具类
目录 前言 Maven依赖 代码 总结 前言 本文提供java操作图片生成旋转.翻转后的图片工具类,拿来即用. Maven依赖 <dependency><groupId>com ...
- Java旋转图片工具类
前言: 本文提供可以任意角度(最小精度1度),旋转图片的Java工具类,旋转后的图片不会失真或丢失边角,根据角度参数,重新绘制图片,达到无损旋转的目的. 一.图片工具类 import java.awt ...
- java图片缩放工具类,一个JAVA图形缩放处置工具类
一个JAVA图形缩放处理工具类 调用的例子 import java.io.FileOutputStream; import java.io.IOException; import javax.imag ...
- java图形验证码生成工具类
转载自 java图形验证码生成工具类 生成验证码效果 ValidateCode.java 验证码生成类 package cn.dsna.util.images; import java ...
- java项目常用的工具类
前言 在开发过程中,我们会遇到很多繁琐或者棘手的问题,但是,这些问题往往会存在一些便捷的工具类,来简化我们的开发,下面是我工作中经常使用到的工具类 常用工具类 日期工具类 import java.te ...
- 【Java 代码实例 13】Java操作pdf的工具类itext
目录 一.什么是iText? 二.引入jar 1.项目要使用iText,必须引入jar包 2.输出中文,还要引入下面```itext-asian.jar```包 3.设置pdf文件密码,还要引入下面` ...
- 「Java工具类」pdf导出工具类java导出pdf文件工具类
介绍语 本号主要是Java常用关键技术点,通用工具类的分享:以及springboot+springcloud+Mybatisplus+druid+mysql+redis+swagger+maven+d ...
- 常用工具类五 Excel转图片工具类
市面上大多数excel转图片为收费工具,借鉴他人用awt的Graphics2D自己实现的工具类,只涉及poi依赖. /** * 版权: taylor * 描述: 将excel转为图片工具类 * 创建时 ...
最新文章
- 移动分发端 基础统计指标经典业务代码节选--留存用户统计
- [Tool] 使用CodeMaid自動程式排版 - 摘自网络
- 4G EPS 中建立 eNB 与 MME 之间的 S1 连接
- labelimg选中高亮
- Google的TensorFlow,微软CNTK, Amazon 的MxNet,Facebook 的Caffe2, PyTorch,国内百度的PaddlePaddle...
- 【Python】编程笔记7
- kubectl 创建pvc_动态挂载云盘(PVC)
- Cpp 对象模型探索 / 系列文章的索引
- 使用 outlet 在SAP Spartacus 的页面添加自定义 HTML 元素的一个例子
- [js] innerHTML与outerHTML有什么区别?
- 分类算法支持向量机(SVM) 简介与入门
- opencv画框返回坐标 python_20行Python代码实现视频字符化
- Linux实时/高性能任务独占CPU的操作
- java中的四个跳转语句_Java中的流程控制语句 (基础篇四)
- JUC与JVM并发编程学习笔记01
- 【Java】恶搞程序实现桌面无限弹窗
- 招聘笔试c语言题库,2014年腾讯校园招聘C语言笔试题含答案
- 路由器桥接(WIFI无线中继)设置及摆放位置图解
- 在函数前面加上WINAPI、CALLBACK
- easyUI设置行高