Java修改图片png格式透明背景大小分辨率
来源:互联网 发布:社交网络 电影 编辑:程序博客网 时间:2024/05/16 13:51
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:/1.png");File toFile = new File("c:/2.png");resizePng(fromFile, toFile, 100, 100, false);}}
1 0
- Java修改图片png格式透明背景大小分辨率
- java 创建PNG格式的透明背景的图片
- 关于Java生成背景透明的png图片
- JAVA 图片的缩放,和压缩,PNG背景透明
- 【转】关于Java生成背景透明的png图片
- IE中设置PNG格式背景透明
- java对PNG图片圆角处理 保持PNG透明背景(未测试)
- CSS实现PNG图片背景透明效果
- png图片ie6下背景透明
- IE浏览器中PNG图片背景透明
- ie6 png 图片背景透明解决方法
- IE6不支持透明背景png图片
- PHP添加PNG图片背景透明水印
- PNG图片背景透明-简单方法
- PNG格式图片在IE6下的背景透明问题-解决方法
- 【切片技巧】PS 切片时 保存成透明背景png格式图片
- 给图片添加水印【png格式添加水印后背景保持透明】
- 给图片添加水印【png格式添加水印后背景保持透明】
- C#委托事件的使用
- 缓存更新的套路
- linux下gcc-编译多个文件为静态库
- MySQL批量SQL插入性能优化
- spoon软件快捷添加数据
- Java修改图片png格式透明背景大小分辨率
- Vue的计算属性
- 鼠标悬停图片放大
- Linux Netcat 命令——网络工具中的瑞士军刀
- ppp学习
- TP5商城练习-ajax取代frameset
- 从最大似然到EM算法浅解
- 经典完整版Android开发环境搭建
- [Qt和GLSL的笔记3] GLSL基本知识和两个小例子