代码如下:

public class Picture {

// TODO Auto-generated constructor stub

public static void resizePNG(String fromFile, String toFile, int outputWidth, int outputHeight,boolean proportion) {

try {

File f2 = new File(fromFile);

BufferedImage bi2 = ImageIO.read(f2);

int newWidth;

int newHeight;

// 判断是否是等比缩放

if (proportion == true) {

// 为等比缩放计算输出的图片宽度及高度

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();

Image from = bi2.getScaledInstance(newWidth, newHeight, bi2.SCALE_AREA_AVERAGING);

g2d.drawImage(from, 0, 0, null);

g2d.dispose();

ImageIO.write(to, "png", new File(toFile));

} catch (IOException e) {

e.printStackTrace();

}

}

public static void main(String[] args) throws IOException {

System.out.println("Start");

resizePNG("C:\\Documents and Settings\\Administrator\\桌面\\8d9e9c82d158ccbf8b31059319d8bc3eb035414e.jpg", "C:\\Documents and Settings\\Administrator\\桌面\\ell.png",200, 100,true);

System.out.println("OK");

}

}

时间: 2014-04-12

thumbnails 变黑_解决java压缩图片透明背景变黑色的问题相关推荐

  1. java 压缩图片背景变黑,解决java压缩图片透明背景变黑色的问题

    代码如下: public class Picture { // TODO Auto-generated constructor stub public static void resizePNG(St ...

  2. 解决java压缩图片内存溢出问题

    解决java压缩图片内存溢出问题 import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutput ...

  3. win8计算机背景黑色,Win8电脑桌面背景突然变黑的解决方法

    不少用户都习惯在自己的电脑下载一些好看的背景图当做桌面,但是在此过程中,不少用户表示经常遇到电脑背景桌面突然黑屏的情况.这是怎么回事呢?如何解决这个问题呢?下面,U大侠小编就给大家介绍Win8电脑桌面 ...

  4. java 压缩 乱码_如何解决java压缩文件乱码问题

    用java来打包文件生成压缩文件,有两个地方会出现乱码: 内容的中文乱码问题:修改sun的源码.使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apac ...

  5. java解压缩文件名乱码_解决JDKZipEntry压缩文件名乱码的两种方法

    当我们在创建java的项目过程中,有时候会遇到一些棘手的问题,就比如说:在JDk zipEntry压缩中文文件名出现乱码的问题.那么对于这个问题,我们应该怎样来解决呢?今天我们就一起来学习一下它的解决 ...

  6. java 压缩图片至指定大小

    需求: 压缩图片至300k以下 一开始没有思路在网上搜,发现google有个插件叫Thumbnails,然后看到了这篇文章: https://blog.csdn.net/u010355502/arti ...

  7. java 压缩图片大小

    提供两个方法 1.压缩网络路径的图片 2.压缩本地路径的图片 直接复制PicUtils类就即用,具体看代码啦. package com.qiyi.util;import com.xiruo.medbi ...

  8. JAVA解决实例问题_解决java方法

    没有R.java问题找不到getActionBar()方法 android项目,可是项目中没有重要的R.java,并且报错,说是找不到getActionBar()方法,上网寻找原因,终于寻得解决方法: ...

  9. Java压缩图片大小

    使用场景: 1.当使用图片上传功能时,上传图片太大,造成对服务器资源过多的占用2.客户端上传图片尺寸大小不一,前端需要展示给用户固定尺寸时,可通过java进行对上传图片统一进行处理 功能预览 1.压缩 ...

最新文章

  1. pytest+allure环境别人电脑运行正常,自己运行不正常几种情况
  2. HRFormer 多分辨率Transformer 参数骤降,性能更强
  3. 客户端网页编程,第二章思维导图
  4. FTP的主动模式(PORT Mode)及被动模式(Passive Mode)
  5. 聊一聊对外API接口的存活检查可以怎么做
  6. C++:获取图片文件信息-图片名称、类型、像素宽高
  7. Tomcat安装配置与基础使用
  8. zebra 斑马打印机 打印图片
  9. STM32----矩阵按键
  10. 联想电脑如何关闭/开启windows自动更新
  11. 论文阅读报告:Taxonomy-aware feature engineering for microbiome classification,Mai Oudah and Andreas Hen
  12. 键盘上特殊符号的中英文名称
  13. typora 快捷键使用(mac)
  14. 素数判断 isPrime
  15. ASCII码_字符与数字转换等问题
  16. 人工智能有哪些优势?人工智能5项技术介绍
  17. 【狂神Java笔记】Java网络编程实战详细笔记整理(附代码)
  18. 联通系统升级服务器地址,联通iptv升级服务器地址
  19. musio机器人_Musio X:AKA人工智能机器人在儿童英语教育里的挑战
  20. excel逼死强迫症

热门文章

  1. execvp函数详解_如何在C / C ++中使用execvp()函数
  2. Arduino控制舵机详解(含代码)
  3. 超全智能 电子设备cc0高清摄影图片素材网站整理
  4. request常用方法
  5. “沉浸式大型线下游戏”?看看这次腾讯TGC上如何玩很大!
  6. exe4j将jar转exe时出现的ClassNotFoundException解决办法
  7. DNS服务器轮询的验证
  8. bert模型中的[CLS]、[UNK]、[SEP]是什么意思?
  9. android8.1 相机(SnapdragonCamera)长按拍照时关闭闪光灯
  10. Flink Table 和 DataStream 转换