package com.gblfy.test;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("D:\\22\\iconPath\\22.png");File toFile = new File("D:\\22\\iconPath\\2255555.png");resizePng(fromFile, toFile, 100, 100, false);//根据实际图片大小修改 水印图片的大小 动态适配// resizePng(fromFile, toFile, (int) (1244 * 0.71),  (int) (1684 * 0.18), false);}
}

Java裁剪压缩PNG图片,透明背景色变黑问题解决相关推荐

  1. Thumbnails生成缩略图透明底图变黑bug修改

    这里写自Thumbnails生成缩略图透明底图变黑bug修改定义目录标题 1.增加.imageType(BufferedImage.TYPE_INT_ARGB) 2.生成图片格式为png

  2. java 解决图片压缩背景色变黑的问题

    项目场景: 之前公司有个需求是将用户上传的图片自动压缩,作为一个菜鸟,要想苟活于公司之下,大多时候都是面向百度开发,熟练地运用 CV 大法,不求成为公司的大佬,只想安安心心的过好每一天. 翻阅了很多博 ...

  3. ios状态栏变黑问题解决

    问题描述:新增加了一个跳转view,跳转页面加载完成之后,状态栏突然变黑了.如下图: 解决方式:查看资料后确定状态栏背景色与当前页面背景色一致,修改当前view背景色,self.view.backgr ...

  4. java 图片质量压缩_java图片高质量压缩

    /** * 根据宽高编辑图片 * * @param outPath *            输出文件路径 * @param width *            输出文件宽 * @param hei ...

  5. java旋转图片后边上变黑_Java旋转图像将背景的一部分变成黑色

    因此,我下载了"原始"图像(不是正方形),对其进行了修改,使其变为正方形,运行您的代码,得到了java.awt.image.ImagingOpException:无法转换src图像 ...

  6. [转]listview中设置背景图片后 拉动变黑

    经本人亲测有效... 在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定 ...

  7. 将Android布局转成图片,并保存到本地(解决JPEG图片因透明度变黑问题)

    最新碰到个需求,就是将布局转成图片导出,后来想到可以用view.draw(canvas)方法,将布局转为图片. 将布局转为bitmap public Bitmap getBitmap(View vie ...

  8. maya建模模型变黑问题解决

    昨天在建一个青花瓷花瓶模型过程中,在完善内部结构时,反复基础和缩放面.在完成后一部分面变为了黑色. 实践知:在挤出的时候法线被反转,将其反转显示即可,也有可能穿模了

  9. png 矢量图 RGBA 转 RGB后变黑问题解决

    from PIL import Image import cv2 from torchvision import utils as vutils 关键代码: im = cv2.imread('20.p ...

最新文章

  1. 逻辑地址,线性地址,物理地址
  2. Hadoop集群环境搭建之伪分布式搭建流程
  3. 关于xcode7编译旧项目崩溃-[UIApplication _runWithMainScene:transitionContext:completion:]
  4. 每日一笑 | 你知道程序媛最“大”的烦恼是什么吗?
  5. 图解leetcode初级算法python版 pdf_图解LeetCode初级算法(Python版)
  6. rancher添加私有仓库_使用Rancher和私有仓库快速搭建Kubernetes集群
  7. linux pxe服务器的配置,pxe http安装linux 配置
  8. Linux vgchange 命令
  9. c++11新特性的使用---可变模板参数、type_traits、function综合使用
  10. 人工神经网络之Python 实战
  11. java如果目录不存在则创建目录_java – 创建一个目录,如果它不存在,然后再创建该目录中的文件...
  12. Win系统 - 如何解决 Windows + P 键无法切换双显复制模式?
  13. Android进阶——Android无障碍服务之AccessibilityService实现微信抢红包插件
  14. 代理池篇(一)获取66免费代理网+西刺代理
  15. 关于echarts中饼图设置颜色的方法
  16. 什么是端口映射?如何设置端口映射?
  17. JavaScript获取法定节假日
  18. NLP学习笔记 01 分词、词性标注和关键词提取
  19. Vue开发仿京东商场app
  20. Unity 讯飞实时语音转写(二)—— 接收转写结果

热门文章

  1. 理论物理-从规范对称的意义说下去
  2. 谷歌回归中国,最紧张的为什么会是小米、华为们?
  3. 他曾是离诺贝尔奖最近的中国人之一!
  4. html之元素与元素的形成
  5. 全排列算法解析(视频+详解+代码+STL)
  6. 谁来拯救存量SGX1平台?又一个内核特性合并的血泪史
  7. Fabric中的Transient Data与Private Data
  8. WAF+SLB负载不均衡案例分享
  9. 阿里小程序云应用上线了,有哪些看点?
  10. 2018年自然语言处理最值得关注的研究、论文和代码